﻿NGame = {
	START_DATE = "1836.1.1" 
	END_DATE = "1936.1.1" 
	SAVE_VERSION = 0
	MP_LAG_TICKS_BOUNDS = 28 # Host will advance up to a week ahead of players ( 7 * 4 )
	DEAD_OBJ_UNDESTROYED_DAYS = 0	# number of days "killed"/removed objects will persist in memory before ultimately destroyed as they are referenced by events etc
	DEFAULT_INCREMENT_DECREMENT_MAGNITUDE = 1
	DEFAULT_INCREMENT_DECREMENT_MAGNITUDE_SHIFT = 10
	DEFAULT_INCREMENT_DECREMENT_MAGNITUDE_CONTROL = 100
	MAX_NUMBER_OF_AUTOSAVES = 5 	# The game will only keep the MAX_NUMBER_OF_AUTOSAVES latest autosaves.
}

NJominiMap = {
	WORLD_EXTENTS_X = 8192
	WORLD_EXTENTS_Y = 24					#This determines the max height of the world. Original settings = 25.5
	WORLD_EXTENTS_Z = 3615
	WATERLEVEL = 1.74						#Original Settings 3.7
}

NAI = {
	DEFAULT_STRATEGY_STRING = "ai_strategy_default"
	
	STRATEGY_RANDOM_FACTOR = 20.0 # The higher this is, the more random AI strategy selection will be
	
	TICKS_FOR_FULL_SPENDING_UPDATE = 50 # The higher this is, the less often AIs will update their spending priorities 
	
	CHANGE_STRATEGY_THRESHOLD = 100	# At this threshold of 'change points', the AI will roll a new strategy
	CHANGE_STRATEGY_INCREASE_WEEKLY_CHANCE = 20 # Chance per week of AI gaining a 'change point' towards rolling a new strategy (1 = 1%)
	
	CHANGE_STRATEGY_POLITICAL_NEW_RULER = 100 # How many 'change points' are added to each strategy when a country gets a new ruler
	CHANGE_STRATEGY_POLITICAL_LAW_ENACTED = 25 # How many 'change points' are added to politics strategy when a law is enacted
	
	CHANGE_STRATEGY_DIPLOMATIC_STATE_GAINED = 10 # How many 'change points' are added to diplomatic strategy when a new state is acquired
	CHANGE_STRATEGY_DIPLOMATIC_STATE_LOST = 10 # How many 'change points' are added to diplomatic strategy when we lose a state
    CHANGE_STRATEGY_DIPLOMATIC_UNIFICATION_CANDIDATE = 100 # How many 'change points' are added to diplomatic strategy when we become or stop being a unification candidate
	
	COUNTRY_GOAL_STRATEGIC_UPDATE_COUNT = 5 # How many AIs have their protect/threat/neighbor scores set every day
	COUNTRY_GOAL_ADJUSTMENT_UPDATE_COUNT = 50 # How many AIs have their antagonize/befriend scores adjusted each day
	COUNTRY_GOAL_RECALC_THRESHOLD = 100	# At this threshold of 'change points', the AI will roll a new goal
	COUNTRY_GOAL_RECALC_INCREASE_DAILY_CHANCE = 3 # Chance per day of AI gaining a 'change point' towards recalculating country goals (1 = 1%)	
	
	COUNTRY_GOAL_RECALC_RELEVANCE_CHANGE = 100 # How many 'change points' are added to country AI goal when the diplomatic relevancy status of another country changes
	COUNTRY_GOAL_RECALC_NEIGHBORS_CHANGE = 25 # How many 'change points' are added to country AI goal when two countries start or stop being neighbors
	COUNTRY_GOAL_DIPLOMATIC_PLAY_STARTED = 50 # How many 'change points' are added to country AI goal against a country that targets them in a diplomatic play
	COUNTRY_GOAL_RECALC_PLAY_ENEMY_STATUS_CHANGED = 20 # How many 'change points' are added to country AI goal when play enemy status (on opposing sides of diplomatic play) with another country changes
	COUNTRY_GOAL_RECALC_PLAY_ALLY_STATUS_CHANGED = 20 # How many 'change points' are added to country AI goal when play ally status (on same side of diplomatic play) with another country changes
    COUNTRY_GOAL_RECALC_UNIFICATION_SUPPORT_CHANGED = 100 # How many 'change points' are added to country AI goal when then other country begins or stops supporting them as unification candidate
    COUNTRY_GOAL_RECALC_BANKRUPTCY = 50 # How many 'change points' are added to all other relevant countries' country AI goal when we go bankrupt
 
	DECLARE_BANKRUPTCY_MIN_DAYS_IN_DEFAULT = 30 # After this many days in default, the AI will declare bankruptcy

	BASE_AGGRESSION = 0.5 # Base chance that AI will consider starting a diplo play each time the goal is checked (1 = 1%)
	UNIFICATION_AGRESSION_MULT_HIGHER_TIR = 20 # AI aggression is multiplied by this for calculating whether they should try to start a unification/leadership play, if the country would end up forming a nation of a higher tier
	UNIFICATION_AGRESSION_MULT_SAME_TIER = 0.1 # AI aggression is multiplied by this for calculating whether they should try to start a unification/leadership play, if the country would end up forming a nation of the same tier
	
	DIPLO_PROPOSAL_DAYS_LEFT_MAX = 12  # AI will not answer a proposal when it has more than this amount of days left (should map to DIPLOMATIC_ACTION_PENDING_APPROVAL_DAYS)
	DIPLO_PROPOSAL_DAYS_LEFT_MIN = 4	# AI will always answer a proposal when it has this or less amount of days left (should map to DIPLOMATIC_ACTION_PENDING_APPROVAL_DAYS)
	DIPLO_PROPOSAL_ANSWER_CHANCE = 5000 # Chance per tick of AI answering a proposal (1000 = 1%)
	DIPLO_PROPOSAL_TO_PLAYER_COOLDOWN_MONTHS = 120 # Do not make the same exact proposal to the player for this amount of months
    DIPLO_PROPOSAL_LIKELY_NON_ACCEPTED_COOLDOWN_MONTHS = 120 # When AI rolls the dice on whether or not to attempt a proposal it thinks will be rejected, don't try again for this time
    DIPLO_PROPOSAL_NO_OBLIGATION_COOLDOWN_MONTHS = 120 # If the AI decides not to offer an obligation for a proposal, remember that decision for this many months

	DIPLO_PROPOSAL_ACCEPT_THRESHOLD = 0					# At this or more acceptance, AI says yes to a proposal
	DIPLO_PROPOSAL_BREAK_THRESHOLD = -50				# At this or less acceptance, AI breaks off an existing pact
	DIPLO_PROPOSAL_TRANSFER_PACT_RELUCTANCE = 25		# Add this to acceptance value for existing pact in transfer-pact proposals
	
	OBLIGATION_RECENTLY_REPUDIATED_DESIRE_MULT = 0.1	# Multiply AI's desire for an obligation by this if the offering country has recently repudiated another obligation
	
	DIPLO_ACCEPTANCE_CALL_IN_OBLIGATION = 50						# Add this acceptance to diplo action when calling in an obligation
	DIPLO_ACCEPTANCE_CALL_IN_OBLIGATION_RECENTLY_REPUDIATED = 25	# Add this acceptance instead of the above to diplo action when calling in an obligation if we've recently repudiated another obligation
	
	DIPLO_DIPLOMACY_PROPOSE_NON_ACCEPT_CHANCE_OTHER_AI = 2	# Chance of AI making a diplomatic proposal they know will be turned down (1 = 1%)
	DIPLO_DIPLOMACY_PROPOSE_NON_ACCEPT_CHANCE_PLAYER = 10	# Chance of AI making a diplomatic proposal they think will be turned down to a player (1 = 1%)
	DIPLO_BREAK_PACT_WEIGHT = 1000
	
	INFLUENCE_DEFICIT_BREAK_PACT_BASE_VALUE = 50						# Added to accept/propose score for a pact 
	INFLUENCE_DEFICIT_BREAK_PACT_RANDOM_FACTOR = 1.0					# The higher this is, the more random AI pact breaking due to influence deficit will be
	INFLUENCE_DEFICIT_BREAK_PACT_CUSTOMS_UNION_MULT = 10.0				# AI multiplies the weight of customs union pacts by this when in an Influence deficit
	INFLUENCE_DEFICIT_BREAK_PACT_OVER_SPENDING_LIMIT_MULT = 0.1			# AI multiplies the value of pacts that are over their action-type spending limit by this when in an Influence deficit
	
	MIN_AVAILABLE_LABOR_FOR_NEW_BUILDING = 5000		# If state has less than this in available labor, don't bother building anything (multiplied by 1 + number of ongoing constructions)
	
	MIN_AVAILABLE_UNITS_TO_RECRUIT_OR_PROMOTE = 10 	# If an HQ has fewer than this number of combat units in reserve, don't promote/recruit any commanders for it
	
	GENERAL_COMMAND_LIMIT_MAX_UNITS_FOR_SINGLE_COMMANDER = 25 # If a HQ has more units than this, AI always wants it split between at least two commanders
	GENERAL_COMMAND_LIMIT_PROMOTION_TARGET_FRACTION = 0.66	# Until the generals in an HQ can handle this much of the locally available forces, do not recruit further generals
	GENERAL_COMMAND_LIMIT_MIN_PROMOTION_TARGET = 30 # General promotion target can't be lower than this
	GENERAL_COMMAND_LIMIT_PROMOTION_CURRENT_LIMIT_MULT = 0.33 # Current command limit of a general is multiplied by this when compared to target (to account for conscript command limit)
	ADMIRAL_COMMAND_LIMIT_PROMOTION_TARGET_FRACTION = 0.5	# Until the admirals in an HQ can handle this much of the locally available forces, do not recruit further generals
	ADMIRAL_COMMAND_LIMIT_MIN_PROMOTION_TARGET = 30 # Admiral promotion target can't be lower than this
	ADMIRAL_COMMAND_LIMIT_PROMOTION_CURRENT_LIMIT_MULT = 1.0 # Current command limit of an admiral is multiplied by this when compared to target
	
	RECRUITABLE_COMMANDER_BASE_SCORE = 100 				# The base score assigned to each recruitable commander in the pool
	RECRUITABLE_COMMANDER_RANDOM_FACTOR = 3.0			# The higher this is, the more random AI recruitment selection will be
	RECRUITABLE_COMMANDER_SKILL_TRAIT_SCORE = 25		# A recruitable commander's total value of skill traits is multiplied by this
	RECRUITABLE_COMMANDER_PERSONALITY_TRAIT_SCORE = 0	# A recruitable commander's total value of personality traits is multiplied by this
	RECRUITABLE_COMMANDER_CONDITION_TRAIT_SCORE = -25	# A recruitable commander's total value of condition traits is multiplied by this
	RECRUITABLE_COMMANDER_FAVORED_IG_FACTOR	= 1.5		# If a recruitable commander comes from an IG the AI likes, multiply score by this
	RECRUITABLE_COMMANDER_DISFAVORED_IG_FACTOR = 0.5	# If a recruitable commander comes from an IG the AI dislikes, multiply score by this
	
	COMBAT_UNIT_ASSIGNMENT_THRESHOLD = 0.75			# If combat units assigned to a HQ is at least this of wanted amount, don't try to assign more units
	COMBAT_UNIT_ASSIGNMENT_STICKYNESS = 0.10		# If moving a commander makes a HQ's unit ratio worse than the ratio of target HQ + this, don't do the move
	
	CONSCRIPTION_ESTIMATED_MILITARY_POWER_MULT = 0.5 		# AI multiplies the value of conscriptable battalions by this to estimate potential combat power
	
	MOBILIZATION_BASE_DESIRED_RATIO_TO_ENEMY = 0.5   		# AI wants to have a total amount of mobilized army power that is equal to enemy mobilized army power * this
	MOBILIZATION_MAIN_ATTACKER_ADDED_RATIO = 1.5  			# Add this to desired ratio for the main attacker in the war 
	MOBILIZATION_MAIN_DEFENDER_ADDED_RATIO = 1.0  			# Add this to desired ratio for the main defender in the war 
	MOBILIZATION_PEACE_NEGOTIATOR_ADDED_RATIO = 0.5 		# Add this to desired ratio for any country that is or would become a peace negotiator (but isn't main attacker or defender)
	MOBILIZATION_LOCAL_FRONTS_ADDED_RATIO = 0.25 			# Add this to desired ratio for any country that has least one local front
	MOBILIZATION_OCCUPATION_ADDED_RATIO = 0.5 				# Add this to desired ratio for any country whose incorporated states are being occupied
	MOBILIZATION_EXISTENTIAL_WAR_FACTOR = 1.0 				# If the AI is in an existential war/diplo play (could cease to exist after peace), add this to its desired mobilization ratio
	MOBILIZATION_MINOR_ALLY_MAX_RELATIVE_POWER = 0.15		# To be counted as a minor ally, a country must have equal or less than this amount of the alliance's total combat power. It must also have no fronts.
    MOBILIZATION_MINOR_ALLY_ADVANTAGE_TO_NOT_MOBILIZE = 2.0	# If a minor ally's side in the conflict has at least this army power advantage when their forces are not counted in, don't bother mobilizing
    MOBILIZATION_MIN_ESCALATION_START = 50 	# Before this amount of escalation in a play, AI will only mobilize as a response to the enemy mobilizing (base)
	MOBILIZATION_MIN_ESCALATION_BOLDNESS_FACTOR = 0.2 # Boldness is multiplied by this and subtracted from MOBILIZATION_MIN_MOBILIZATION_ESCALATION_START
    MOBILIZATION_MIN_MOBILIZATION_PEACE_NEGOTIATOR = 0.15   # AI will always mobilize at least this amount of forces if they are or would become a peace negotiator
	MOBILIZATION_MIN_MOBILIZATION_TERRITORIAL_RISK = 0.15   #  AI will always mobilize at least this amount of forces if they might lose territory from the war/play
	MOBILIZATION_MIN_MOBILIZATION_LOCAL_FRONTS = 0.25       # AI will always mobilize at least this amount of forces if they have any local fronts
	MOBILIZATION_MIN_MOBILIZATION_CONTAINMENT_WAR = 1.0   # AI will always mobilize at least this amount of forces if fighting in a containment war
	
	CONSCRIPTION_INSUFFICIENT_FORCES_FACTOR = 1 					# For each 1% of mobilization the AI isn't able to meet, raise a base of 1% * this conscripts
	CONSCRIPTION_RELATIVE_CONSCRIPTED_COMBAT_POWER_DIVISOR = 1		# Conscripted forces fraction of combat power is multiplied by this, then the result of CONSCRIPTION_INSUFFICIENT_FORCES_FACTOR is divided by (1 + the result)
	CONSCRIPTION_SMALL_STANDING_ARMY_THRESHOLD = 0.75				# An AI whose conscripted combat power is above this fraction of total combat power is affected by the below factor
	CONSCRIPTION_SMALL_STANDING_ARMY_MIN_CONSCRIPTS_FACTOR = 0.02   # For each 1% the conscripted combat power fraction above CONSCRIPTION_SMALL_STANDING_ARMY_THRESHOLD, always raise at last this fraction of conscripts
	
	MIN_GOVERNMENT_LEGITIMACY = 50				# If legitimacy is below this, consider adding IGs we don't really like to the government
	DESIRED_GOVERNMENT_LEGITIMACY = 75			# If legitimacy is below this, add more IGs we like to the government
	REFORM_GOVERNMENT_MONTHS_BETWEEN_CHANGES = 30 		# If the AI doesn't have elections, it won't consider changing government composition more often than this to avoid lots of radicals
	REFORM_GOVERNMENT_PRO_IG_CLOUT_FACTOR = 1.0			# When scoring IGs for putting in government, each point of clout for an IG the AI's strategy approves of is multiplied by this
	REFORM_GOVERNMENT_ANTI_IG_CLOUT_FACTOR = -0.75		# When scoring IGs for putting in government, each point of clout for an IG the AI's strategy is opposed to is multiplied by this
	REFORM_GOVERNMENT_NEUTRAL_IG_CLOUT_FACTOR = 0.25	# When scoring IGs for putting in government, each point of clout for an IG the AI's strategy is neutral towards is multiplied by this
	REFORM_GOVERNMENT_DESIRED_PARTY_SCORE = 0.25 		# A party with at least this score is considered to be desired in government even if legitimacy is above MIN_GOVERNMENT_LEGITIMACY
	
	IDEOLOGICAL_OPINION_LAW_APPROVAL_THRESHOLD = 0.5		# If ruling IGs have at least this much approval/disapproval for a law on average, it affects ideological opinion
	IDEOLOGICAL_OPINION_STRONG_STANCE_THRESHOLD = 1.5		# If ruling IGs have at least this much approval/disapproval for a law on average, IDEOLOGICAL_OPINION_STRONG_STANCE_EFFECT_MULT comes into effect
	IDEOLOGICAL_OPINION_SAME_LAW_STANCE_EFFECT = 0.5		# Added to ideological opinion for each law both governments approve or disapprove of
	IDEOLOGICAL_OPINION_DIFFERENT_LAW_STANCE_EFFECT = -1	# Added to ideological opinion for each law where one government approves and the other disapproves
	IDEOLOGICAL_OPINION_STRONG_STANCE_EFFECT_MULT = 2		# If AI has a strong stance on a law, multiply its effects on ideological opinion by this
	
	UNIFICATION_MIN_SUPPORT_SCORE = 50	# Support for one country-formation candidate needs to be at least this much above all competitors to support unification
	UNIFICATION_BASE_VALUE = 0
	UNIFICATION_SUPPORTER_DEFAULT_RANK_VALUE = 4 # Rank value is compared to this value for computing supporter rank factor
	UNIFICATION_SUPPORTER_RANK_FACTOR = -10 # Multiplied by rank value delta to supporter default rank
	UNIFICATION_CANDIDATE_DEFAULT_RANK_VALUE = 6 # Rank value is compared to this value for computing candidate rank factor
	UNIFICATION_CANDIDATE_RANK_FACTOR = 10 # Multiplied by rank value delta to candidate default rank
	UNIFICATION_RELATIONS_HOSTILE_FACTOR = -50
	UNIFICATION_RELATIONS_COLD_FACTOR = -25
	UNIFICATION_RELATIONS_POOR_FACTOR = -10
	UNIFICATION_RELATIONS_CORDIAL_FACTOR = 10
	UNIFICATION_RELATIONS_AMICABLE_FACTOR = 25
	UNIFICATION_RELATIONS_FRIENDLY_FACTOR = 50	
	UNIFICATION_ATTITUDE_DISINTERESTED_FACTOR = -25
	UNIFICATION_ATTITUDE_CAUTIOUS_FACTOR = -25
	UNIFICATION_ATTITUDE_CONCILIATORY_FACTOR = 0
	UNIFICATION_ATTITUDE_COOPERATIVE_FACTOR = 25
	UNIFICATION_ATTITUDE_GENIAL_FACTOR = 50
	UNIFICATION_ATTITUDE_WARY_FACTOR = -50
	UNIFICATION_ATTITUDE_BELLIGERENT_FACTOR = -100
	UNIFICATION_ATTITUDE_ANTAGONISTIC_FACTOR = -100
	UNIFICATION_ATTITUDE_LOYAL_FACTOR = 100
	UNIFICATION_ATTITUDE_REBELLIOUS_FACTOR = -100
	UNIFICATION_ATTITUDE_PROTECTIVE_FACTOR = -50
	UNIFICATION_ATTITUDE_DOMINEERING_FACTOR = -100
	
	RAISE_TAX_TO_DESIRED_INCOME_THRESHOLD = 1.25
	RAISE_TAX_ABOVE_DESIRED_INCOME_NO_DEBT_THRESHOLD = 0.9
	RAISE_TAX_ABOVE_DESIRED_INCOME_WITH_DEBT_THRESHOLD = 1.1
	LOWER_TAX_TO_DESIRED_INCOME_THRESHOLD = 1.5
	LOWER_TAX_BELOW_DESIRED_INCOME_THRESHOLD = 2.0
	RAISE_TAX_HIGH_DEBT_OVERRIDE_RATIO = 0.2 # At this amount of debt, any level of tax is OK to deal with it
	
	CONSTRUCTION_MAX_NUM_NON_GOVERNMENT_CONSTRUCTIONS_BASE = 1 # If country has this number of non-government building constructions queued, don't add anymore (base)
	CONSTRUCTION_MAX_NUM_NON_GOVERNMENT_CONSTRUCTIONS_SCALED = 0.05 # If country has this number of non-government building constructions queued, don't add anymore (scaled by construction production)
	CONSTRUCTION_MAX_NUM_NON_GOVERNMENT_CONSTRUCTIONS_SCALED_MAX = 19 # CONSTRUCTION_MAX_NUM_NON_GOVERNMENT_CONSTRUCTIONS_SCALED can't be higher than this	
	CONSTRUCTION_MAX_NUM_GOVERNMENT_CONSTRUCTIONS_BASE = 1 # If country has this number of government building constructions queued, don't add anymore (base)
	CONSTRUCTION_MAX_NUM_GOVERNMENT_CONSTRUCTIONS_SCALED = 0.05 # If country has this number of government building constructions queued, don't add anymore (scaled by construction production)
	CONSTRUCTION_MAX_NUM_GOVERNMENT_CONSTRUCTIONS_SCALED_MAX = 19 # CONSTRUCTION_MAX_NUM_GOVERNMENT_CONSTRUCTIONS_SCALED can't be higher than this	
	CONSTRUCTION_WANTED_SUPPLY_OF_CONSTRUCTION_GOODS = 1.0 # Try to import construction goods if supply-to-demand ratio is below this
	CONSTRUCTION_RESERVES_NEW_CONSTRUCTIONS = 0.2 # If gold reserves are less than this after adding the cost of a new construction, don't queue it
	CONSTRUCTION_DEBT_RESUME = 0.2 # If constructions are paused, resume once debt is this low relative to ceiling
	CONSTRUCTION_DEBT_PAUSE = 0.4 # If in this much relative debt to debt ceiling, pause all non-critical constructions 	
	CONSTRUCTION_DEBT_RESUME_CRITICAL_CONSTRUCTION = 0.75 # If critical constructions are paused, resume once debt is this low relative to ceiling
	CONSTRUCTION_DEBT_PAUSE_CRITICAL_CONSTRUCTION = 0.90 # If in this much relative debt to debt ceiling, pause all critical constructions 	
	
	START_DIPLO_PLAY_RANDOM_FACTOR = 2.0 # The higher this is, the more random AI will be on where to target when starting diplo plays
	START_DIPLO_PLAY_ALLY_STRENGTH_WEIGHT = 0.75 # Consider participants that will for sure join a side with this amount of their forces
	START_DIPLO_PLAY_LIKELY_ALLY_STRENGTH_WEIGHT = 0.5 # Consider participants that will likely to join a side with this amount of their forces
	START_DIPLO_PLAY_POTENTIAL_ALLY_STRENGTH_WEIGHT = 0.33 # Consider participants that might be swayed to our side with with this amount of their forces
	
	DIPLO_PLAY_BACK_DOWN_CHANCE_THRESHOLD = 25 # If ( confidence + boldness ) is less than this, consider backing down 
	DIPLO_PLAY_BACK_DOWN_CHANCE_ESCALATION = 30 # Above this escalation, AI will consider backing down
	DIPLO_PLAY_BACK_DOWN_GUARANTEED_THRESHOLD = -25 # If ( confidence + boldness ) is less than this, always back down before the play goes to war
	DIPLO_PLAY_BACK_DOWN_GUARANTEED_ESCALATION = 95 # Above this escalation, AI will always back down if it's supposed to
	DIPLO_PLAY_BACK_DOWN_CHANCE_LOW_ESCALATION = 0.1 # 1.0 = 1% (chance each tick) - used before countdown to war starts
	DIPLO_PLAY_BACK_DOWN_CHANCE_HIGH_ESCALATION = 0.5 # 1.0 = 1% (chance each tick) - used after countdown to war starts
	DIPLO_PLAY_BACK_DOWN_CHANCE_WAR_LOSSES_MULT = 0.5 # Multiply chance of backing down due to additional wargoal demands ( 1 + this * relative impact of additional wargoals )
	DIPLO_PLAY_BACK_DOWN_CHANCE_WAR_LOSSES_MAX = 3.0 # Max multiplier for impact of additional wargoal demands (including the base of 1)
	DIPLO_PLAY_SWAY_THRESHOLD = 2.0 # If AI has this much military strength compared to enemy, don't bother trying to sway anyone
	DIPLO_PLAY_DECIDE_ON_SUPPORT_ESCALATION = 30 # Above this escalation, AI will potentially start taking sides (or declare neutrality) even if not swayed
	DIPLO_PLAY_TAKE_SIDES_MIN_BOLDNESS = 50 # Boldness must be at least this for AI to want to take a side with no gain
	DIPLO_PLAY_TAKE_SIDES_CHANCE = 0.001 # Multiplied by boldness for chance of taking sides each tick
	DIPLO_PLAY_TAKE_SIDES_CONTAINMENT_MULT = 10 # Chance of taking sides in a containment play is multiplied by this 
	DIPLO_PLAY_DECLARE_NEUTRALITY_CHANCE = 0.001 # Multiplied by neutrality for chance of declaring neutrality each tick (only if there's no side the country prefers OR play has reached countdown to war)
	DIPLO_PLAY_DECLARE_NEUTRALITY_HIGH_ESCALATION_MULT = 20 # Chance of declaring neutrality during countdown to war is multiplied by this
	DIPLO_PLAY_ABANDON_SUPPORT_CHANCE = 0.1 # Multiplied with negative support score
	DIPLO_PLAY_SWAY_COUNTRIES_ESCALATION = 20 # Above this escalation, AI will potentially start swaying countries
	DIPLO_PLAY_SWAY_COUNTRIES_CHANCE = 5 # Chance each tick that the AI will try to sway someone
	DIPLO_PLAY_TIMED_WEIGHT_DURATION = 12 # When AI randomly determines sympathy for one side of a diplo play, how long does that weight stay
	DIPLO_PLAY_PREFERENCE_THRESHOLD = 25 # At this delta, an AI country is considered to have a preference for that side of the diplo play
	DIPLO_PLAY_WEAK_ABANDON_SUPPORT_THRESHOLD = -25 # If support for the side an AI country is backing drops below this, consider abandoning it
	DIPLO_PLAY_STRONG_ABANDON_SUPPORT_THRESHOLD = -50 # If support for the side an AI country is backing drops below this, abandon it immediately
	DIPLO_PLAY_ABANDON_ALLY_RELUCTANCE = 25 # Added to support score when considering whether to abandon an ally
	DIPLO_PLAY_ABANDON_SUBJECT_RELUCTANCE = 50 # Added to support score when considering whether to abandon a subject
	DIPLO_PLAY_SWAY_DAYS_LEFT_MAX = 5  # AI will not answer a sway offer when it has more than this amount of days left (should map to SWAY_OFFER_TIMEOUT_DAYS)
	DIPLO_PLAY_SWAY_DAYS_LEFT_MIN = 2	# AI will always answer a sway offer when it has this or less amount of days left (should map to SWAY_OFFER_TIMEOUT_DAYS)
	DIPLO_PLAY_SWAY_ANSWER_CHANCE = 10 # Chance per tick of AI answering a sway offer (1 = 1%)
	DIPLO_PLAY_WEAK_ARMY_THRESHOLD = 0.5 # If our army strength compared to the average for each country involved in the play is less than this, weak army effects will apply
	DIPLO_PLAY_STRONG_ARMY_THRESHOLD = 1.0 # If our army strength compared to the average for each country involved in the play is at least than this, strong army effects will start to apply
	DIPLO_PLAY_STRONG_ARMY_MAX = 3.0 # Maximum strong army effects apply at this threshold
	DIPLO_PLAY_FORCE_BALANCE_SCALE = 4.0 # At this military-strength-to-enemies ratio, max effects from the balance of the two sides' militaries is applied
	DIPLO_PLAY_FORCE_BALANCE_NAVY_FACTOR = 0.1 # Naval power projection counts for this much compared to army power projection when determining military strength to enemies
	DIPLO_PLAY_FORCE_BALANCE_MOBILIZATION_FACTOR = 1.0 # A country's military forces are considered to be ( 1 + this * fully mobilized unit ratio ) much stronger in a play for purposes of confidence, etc
	DIPLO_PLAY_STATE_STABILITY_UNINCORPORATED_WEIGHT_MULT = 0.25 # Weight for devastation, radicals & loyalists in unincorporated states is multiplied by this
	
	# Boldness determines the confidence threshold at which the AI will back down in a play
	# Each individual boldness factor is multiplied a dice roll range of (x0 to x1) for actual boldness value in each play - boldness can end up negative!
	# Boldness also plays a role for determining whether undecided countries will join a play unprompted
	# Base boldness is set by the country's AI strategies
	DIPLO_PLAY_BOLDNESS_FROM_RANK = 3 			# Multiplied by country's rank value and added to boldness range
	DIPLO_PLAY_BOLDNESS_WEAK_ARMY_FACTOR = -25 	# Scaled by our relative forces compared to DIPLO_PLAY_WEAK_ARMY_THRESHOLD
	DIPLO_PLAY_BOLDNESS_INCORPORATED_DEFENSE = 25 # Add this boldness if we the enemy wants to take our incorporated state as their primary wargoal 
	DIPLO_PLAY_BOLDNESS_EXISTENTIAL_PLAY = 75	# Add this boldness if in an existential play (replaces DIPLO_PLAY_BOLDNESS_INCORPORATED_DEFENSE)
	DIPLO_PLAY_BOLDNESS_CONTAINMENT_PLAY = 50	# Add this boldness if in a containment play
	
	# Confidence is added to boldness to determine whether the AI is willing to back down
	DIPLO_PLAY_CONFIDENCE_FORCE_BALANCE_FACTOR = 75	 # Confidence level if force balance to the enemy is at DIPLO_PLAY_FORCE_BALANCE_SCALE, scaled down if lower
	DIPLO_PLAY_CONFIDENCE_STRONG_ARMY_FACTOR = 15 	 # Scaled by our relative forces compared to DIPLO_PLAY_STRONG_ARMY_MAX
	DIPLO_PLAY_CONFIDENCE_CIVIL_WAR_OR_UPRISING = 50 	 # Add this confidence to both sides in a civil war or native uprising
	DIPLO_PLAY_CONFIDENCE_FROM_TURMOIL = -15 		 # At 100% turmoil across the country (weighted by state population), subtract this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_LOYALISTS = 15 		 # At 100% turmoil across the country (weighted by state population), add this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_DEVASTATION = -15	 # At 100% devastation, subtract this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_DEBT_LEVEL = -25		 # At 100% debt level, subtract this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_GOLD_RESERVES = 15	 # At 100% gold reserves, add this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_OWN_CONFLICTS = -25 # If we are in another conflict where military strength compared to our enemies is equal to or above DIPLO_PLAY_FORCE_BALANCE_SCALE, subtract this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_ENEMY_TURMOIL = 10 		 # At 100% turmoil across the enemy country (weighted by state population), add this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_ENEMY_DEVASTATION = 10	 # At 100% devastation for enemy, add this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_ENEMY_DEBT_LEVEL = 10	 # At 100% debt level for enemy, add this amount of confidence
	DIPLO_PLAY_CONFIDENCE_FROM_ENEMY_CONFLICTS = 25 # If the other side is in another conflict where military strength compared to their enemies is equal to or above DIPLO_PLAY_FORCE_BALANCE_SCALE, add this amount of confidence	
	DIPLO_PLAY_CONFIDENCE_VERY_LOW_THRESHOLD = -50 		# If confidence is this or below, show it as very low
	DIPLO_PLAY_CONFIDENCE_LOW_THRESHOLD = -25 		# If confidence is this or below, show it as low
	DIPLO_PLAY_CONFIDENCE_HIGH_THRESHOLD = 25 		# If confidence is this or above, show it as high
	DIPLO_PLAY_CONFIDENCE_VERY_HIGH_THRESHOLD = 50 		# If confidence is this or above, show it as very high
	
	# Below data is used to determine which side the AI wants to join a diplo play, if any
	
	# Neutrality is a calculated value that determines how much a country wants to stay out of a diplo play
	# In order for a country to join, their side preference score must beat out both the enemy's side preference score AND the neutrality score
	# Base neutrality is set by the country's AI strategies
	DIPLO_PLAY_NEUTRALITY_MIN = 0
	DIPLO_PLAY_NEUTRALITY_PREFERENCE_DELTA_THRESHOLD = 50 # If the preference delta between the two sides is less than this, add the difference between the delta and this value to neutrality score
	DIPLO_PLAY_NEUTRALITY_FROM_DEBT_LEVEL = 100 # At 100% debt level, add this amount of neutrality score
	DIPLO_PLAY_NEUTRALITY_FROM_DEVASTATION_LEVEL = 100 # At 100% devastation across the country (weighted by state population), add this amount of neutrality score
	DIPLO_PLAY_NEUTRALITY_FROM_TURMOIL = 100 # At 100% turmoil across the country (weighted by state population), add this amount of neutrality score
	DIPLO_PLAY_NEUTRALITY_IN_SUBJECT_CONFLICT = -50 # If either side in the play is a subject, subtract this amount of neutrality score
	DIPLO_PLAY_NEUTRALITY_IN_NATIVE_UPRISING = 50 # Added to neutrality score for native uprising type conflicts
	DIPLO_PLAY_NEUTRALITY_FROM_ONGOING_CONFLICTS = 200 # If in a conflict where military strength compared to the enemy is equal to or above DIPLO_PLAY_FORCE_BALANCE_SCALE, add this amount of neutrality score
	DIPLO_PLAY_NEUTRALITY_FROM_LOWER_RANK = 5 # For each rank value difference between us and the lowest ranked participant in the play, if we're higher rank than them
	DIPLO_PLAY_NEUTRALITY_FROM_NO_ARMY = 1000 # If we have no army at all, add this to neutrality score
	DIPLO_PLAY_NEUTRALITY_WEAK_ARMY_FACTOR = 100 # Scaled by our relative forces compared to DIPLO_PLAY_WEAK_ARMY_THRESHOLD
	
	# Sympathy is added together and then multiplied by a dice roll range of (x0 to x1) to give the AI a random preference for each side in a particular play
	# Sympathy above 0 is added directly to the willingness to join that side in the play
	# Sympathy for a side can be below 0, but has no additional effect other than acting as a buffer against sympathy increases
	DIPLO_PLAY_SYMPATHY_BASE_INITIATOR = 50 # The base size of the random sympathy range for attacker in diplomatic play
	DIPLO_PLAY_SYMPATHY_BASE_TARGET = 75 # The base size of the random sympathy range for defender in diplomatic play
	DIPLO_PLAY_SYMPATHY_ENEMY_OF_SUBJECT_INITIATOR = -100 # Subtracted from sympathy range for enemies of our subjects if the enemy is the attacker
	DIPLO_PLAY_SYMPATHY_ENEMY_OF_SUBJECT_TARGET = -25 # Subtracted from sympathy range for enemies of our subjects if the enemy is the defender
	DIPLO_PLAY_SYMPATHY_ENEMY_OF_ALLY_INITIATOR = -50 # Subtracted from sympathy range for enemies of our allies if the enemy is the attacker
	DIPLO_PLAY_SYMPATHY_ENEMY_OF_ALLY_TARGET = -25 # Subtracted from sympathy range for enemies of our allies if the enemy is the defender
	DIPLO_PLAY_SYMPATHY_ENEMY_OF_INFAMOUS_COUNTRY = 25 # Added to sympathy range for enemy of infamous country
	DIPLO_PLAY_SYMPATHY_ENEMY_OF_NOTORIOUS_COUNTRY = 50 # Added to sympathy range for enemy of notorious country
	DIPLO_PLAY_SYMPATHY_ENEMY_OF_PARIAH_COUNTRY = 100 # Added to sympathy range for enemy of pariah country
	DIPLO_PLAY_SYMPATHY_LENIENT_AI_GAME_RULE = 35 # Added to sympathy range for player when using lenient AI game rule
	DIPLO_PLAY_SYMPATHY_HARSH_AI_GAME_RULE = -35 # Subtracted to sympathy range for player when using harsh AI game rule
	DIPLO_PLAY_SYMPATHY_INCREASE_GAINED_BACKER = 100 # Sympathy is increased by up to this amount for enemy of a side which receives a new backer, scaled by their number of battalions compared to total forces in the play
	DIPLO_PLAY_SYMPATHY_INCREASE_LOST_BACKER = 50 # Sympathy is increased by up to this amount for a side which loses a backer, scaled by their number of battalions compared to total forces in the play
	DIPLO_PLAY_SYMPATHY_INCREASE_NEW_WARGOAL = 1 # Sympathy is increased by up to this amount * accured infamy for enemy of a side which adds a new wargoal 
    DIPLO_PLAY_SYMPATHY_INCREASE_SWAYED_WITH_WARGOAL = 0.5 # Sympathy is increased by up to this amount * accured infamy for enemy of a side which adds a new wargoal through swaying

	DIPLO_PLAY_SWITCH_SIDES_FACTOR = -10 # If AI has already picked a side, add reluctance to accept further sway offers
	DIPLO_PLAY_IDEOLOGICAL_OPINION_FACTOR = 1 # Ideological opinion is multiplied by this and added to acceptance to join a side
	DIPLO_PLAY_IDEOLOGICAL_OPINION_REVOLUTION_MULT = 3 # DIPLO_PLAY_IDEOLOGICAL_OPINION_FACTOR is multiplied by this in a revolution play
	DIPLO_PLAY_SECESSION_OWN_SECESSION_RISK_FACTOR = -100 # Add this amount of reluctance for AI to back a secession of a culture that has enough pops in their own country to secede
	DIPLO_PLAY_NON_ALLY_RECOGNITION_FACTOR = -100 # Add this amount of reluctance for AI to back a recognition demand from a non-allied unrecognized power

	# Diplo play scoring for relations levels
	DIPLO_PLAY_RELATIONS_HOSTILE_FACTOR = -50
	DIPLO_PLAY_RELATIONS_COLD_FACTOR = -25
	DIPLO_PLAY_RELATIONS_POOR_FACTOR = -10
	DIPLO_PLAY_RELATIONS_CORDIAL_FACTOR = 10
	DIPLO_PLAY_RELATIONS_AMICABLE_FACTOR = 25
	DIPLO_PLAY_RELATIONS_FRIENDLY_FACTOR = 50

	# Diplo play scoring for attitudes (with scoring against both primary and backers)
	DIPLO_PLAY_ATTITUDE_DISINTERESTED_FACTOR = 0
	DIPLO_PLAY_ATTITUDE_DISINTERESTED_BACKER_FACTOR = 0
	DIPLO_PLAY_ATTITUDE_CAUTIOUS_FACTOR = 0
	DIPLO_PLAY_ATTITUDE_CAUTIOUS_BACKER_FACTOR = 0
	DIPLO_PLAY_ATTITUDE_CONCILIATORY_FACTOR = 10
	DIPLO_PLAY_ATTITUDE_CONCILIATORY_BACKER_FACTOR = 5
	DIPLO_PLAY_ATTITUDE_COOPERATIVE_FACTOR = 15
	DIPLO_PLAY_ATTITUDE_COOPERATIVE_BACKER_FACTOR = 5
	DIPLO_PLAY_ATTITUDE_GENIAL_FACTOR = 25
	DIPLO_PLAY_ATTITUDE_GENIAL_BACKER_FACTOR = 10
	DIPLO_PLAY_ATTITUDE_WARY_FACTOR = -10
	DIPLO_PLAY_ATTITUDE_WARY_BACKER_FACTOR = -5
	DIPLO_PLAY_ATTITUDE_BELLIGERENT_FACTOR = -50
	DIPLO_PLAY_ATTITUDE_BELLIGERENT_BACKER_FACTOR = -25
	DIPLO_PLAY_ATTITUDE_ANTAGONISTIC_FACTOR = -50
	DIPLO_PLAY_ATTITUDE_ANTAGONISTIC_BACKER_FACTOR = -25
	DIPLO_PLAY_ATTITUDE_LOYAL_FACTOR = 100
	DIPLO_PLAY_ATTITUDE_LOYAL_BACKER_FACTOR = 25
	DIPLO_PLAY_ATTITUDE_REBELLIOUS_FACTOR = -100
	DIPLO_PLAY_ATTITUDE_REBELLIOUS_BACKER_FACTOR = -50
	DIPLO_PLAY_ATTITUDE_PROTECTIVE_FACTOR = 50
	DIPLO_PLAY_ATTITUDE_PROTECTIVE_BACKER_FACTOR = 20
	DIPLO_PLAY_ATTITUDE_DOMINEERING_FACTOR = -10
	DIPLO_PLAY_ATTITUDE_DOMINEERING_BACKER_FACTOR = 0
	
	DIPLO_PLAY_SWAY_RANDOM_FACTOR = 1.0 # The higher this is, the more random the AI will be about which countries it tries to sway first
	DIPLO_PLAY_SWAY_CALL_IN_OBLIGATION = 1000 # When calling in an obligation
	DIPLO_PLAY_SWAY_MINIMUM_OBLIGATION_VALUE = 10 # Obligations worth less than this are rejected
	DIPLO_PLAY_SWAY_WARGOAL_WEAK_SWAYER_CONFIDENT_IN_OWN_ARMY_FACTOR = 0.25 # This much of the penalty for a 'weak' sway offer is removed if the target believes they can achieve the wargoal themselves
	DIPLO_PLAY_SWAY_WARGOAL_FACTOR = 1.0 # Multiplied by wargoal value
	DIPLO_PLAY_SWAY_WARGOAL_THRESHOLD = 10 # A wargoal needs at least this base value to be wanted as part of sway offer
	DIPLO_PLAY_SWAY_WARGOAL_MINIMUM_SWAYER_MULTIPLIER_INITIATOR = 0.2 # If a wargoal sway offer from initiator is less than this fraction of its base value due to weakness of the swayer, consider it an unwanted wargoal
	DIPLO_PLAY_SWAY_WARGOAL_MINIMUM_SWAYER_MULTIPLIER_TARGET = 0.05 # If a wargoal sway offer from target is less than this fraction of its base value due to weakness of the swayer, consider it an unwanted wargoal
	DIPLO_PLAY_SWAY_UNWANTED_OFFER = -1000 # For being offered unwanted wargoal or obligation
	
	DIPLO_PLAY_ADD_WARGOAL_THRESHOLD = 20 # A wargoal needs at least this value for AI to add it to the play

	LOW_AGGRESSION_BASE_EFFECT_MULT = 0.5 # The impact of low ai aggression game rule on how often the AI starts diplomatic plays
	HIGH_AGGRESSION_BASE_EFFECT_MULT = 1.5 # The impact of high ai aggression game rule on how often the AI starts diplomatic plays
	LOW_AGGRESSION_INFAMY_ACCEPTANCE_MULT = 0.5 # The amount of infamy the AI considers undesirable/unacceptable is multiplied by this for low aggression AI
	HIGH_AGGRESSION_INFAMY_ACCEPTANCE_MULT = 1.5 # The amount of infamy the AI considers undesirable/unacceptable is multiplied by this for low aggression AI
	AI_AGGRESSION_MAX_ACCEPTABLE_INFAMY = 100 # Undesirable/unacceptable infamy will not be set above this from high aggression
	
	# Below data is used to determine which wargoals the AI will pick
	WAR_GOAL_RANDOM_FACTOR = 2.0 					# The higher this is, the more random AI wargoal selection will be
	WAR_GOAL_UNDESIRABLE_INFAMY_FACTOR = 0.5 		# Wargoal value is multiplied by this if it would bring the country above undesirable infamy levels
	WAR_GOAL_UNACCEPTABLE_INFAMY_FACTOR = 0			# Wargoal value is multiplied by this if it would bring the country above unacceptable infamy levels
	
	# Below data is used to determine which techs the AI will research
	TECH_BASE_WEIGHT = 100
	TECH_RANDOM_FACTOR = 2.0 # The higher this is, the more random AI tech research will be
	TECH_REMAINING_COST_FACTOR = 0.01 # The higher this is, the more averse the AI will be to researching techs that will take a long time
	
	# Below data is used to determine which states the AI should incorporate
	INCORPORATE_STATE_MIN_POPULATION = 200000 # Min population in a homeland state for the AI to incorporate it

	# Below data is used to determine which states are most important to defend
	DEFEND_STATE_BARRACKS_WEIGHT = 1 # Per level of barracks
	DEFEND_STATE_BARRACKS_MAX_WEIGHT = 20 # Per state
	DEFEND_STATE_NAVAL_BASE_WEIGHT = 0.5 # Per level of naval base
	DEFEND_STATE_NAVAL_BASE_MAX_WEIGHT = 10 # Per state
	DEFEND_STATE_CAPITAL_WEIGHT = 25
	DEFEND_STATE_CAPITAL_WAR_NEGOTIATOR_WEIGHT = 100
	DEFEND_STATE_WARGOAL_WEIGHT = 100
	DEFEND_STATE_INCORPORATED_WEIGHT_MULT = 1.5	
	
	# Below data is used to determine which states are most important to invade
	INVADE_STATE_BARRACKS_WEIGHT = 1 # Per level of barracks
	INVADE_STATE_BARRACKS_MAX_WEIGHT = 20 # Per state
	INVADE_STATE_NAVAL_BASE_WEIGHT = 0.5 # Per level of naval base
	INVADE_STATE_NAVAL_BASE_MAX_WEIGHT = 10 # Per state
	INVADE_STATE_CAPITAL_WEIGHT = 25
	INVADE_STATE_CAPITAL_WAR_NEGOTIATOR_WEIGHT = 100
	INVADE_STATE_WARGOAL_WEIGHT = 100
	INVADE_STATE_INCORPORATED_WEIGHT_MULT = 1.5
	
	# Below data is used for naval invasions:
	NAVAL_INVASION_RANDOM_FACTOR = 0.5 								# The higher this is, the more random AI naval invasion theater selection will be
	NAVAL_INVASION_MIN_RELATIVE_LOCAL_ARMY_STRENGTH = 0.25 			# AI wants at least this fraction of defending army strength to risk a naval invasion
	NAVAL_INVASION_MIN_RELATIVE_LOCAL_NAVY_STRENGTH = 0.5 			# AI wants at least this fraction of defending naval strength to risk a naval invasion
	NAVAL_INVASION_MIN_RELATIVE_GLOBAL_NAVY_STRENGTH_ATTACKER = 0.25 # AI wants at least this fraction of naval strength in the overall war to risk a naval invasion as the attacking war side
	NAVAL_INVASION_MIN_RELATIVE_GLOBAL_NAVY_STRENGTH_DEFENDER = 0.5 # AI wants at least this fraction of naval strength in the overall war to risk a naval invasion as the defending war side
	NAVAL_INVASION_COOLDOWN_DAYS = 60 								# After launching a naval invasion, the AI will wait at least this long before launching another
	NAVAL_INVASION_MIN_SCORE = 100									# AI won't bother launching naval invasions against theaters with a lower total state score than this
	NAVAL_INVASION_MAX_LOCAL_FRONT_SCORE = 100						# Don't launch a naval invasion if there is a local front of at least this total score for the general
	
    # Below data is used for General Orders:
	HQ_DEFENSE_MIN_THEATER_SCORE = 100								# Theater of local HQ must have at least this importance score to have a minimum garrison
	HQ_DEFENSE_MIN_WANTED_LAND_GARRISON = 0.15						# Keep at least this number of local troops to garrison important HQs against enemy invasion
	
	MAX_CONVOY_USAGE_FOR_SUPPLY_ROUTES = 0.5						# AI will not commit more than this fraction of its convoys to supporting overseas operations
	
	# If a front is worth less than this, the AI will not assign any generals to it
	FRONT_IMPORTANCE_MIN_SCORE = 50		
		
	# Below data is for evaluating Commander Orders
	FRONT_IMPORTANCE_OWN_FRONT_WEIGHT_MULT = 2.0 # Fronts that we 'own' have the importance of their states multiplied by this

	# If the AI has less units than its enemy on a front, this weight is applied to the importance that front has when deciding to attack/defend it.
	# Use a value >= 1.0. Example: 1.2 means: add 20% importance to a front when in disadvantage.
	FRONT_IMPORTANCE_WHEN_IN_DISADVANTAGE_WEIGHT_MULT = 1.2

	# A percentage [0.0, 1.0] representing how many AI units are on a front out of the total (AI's + Enemy's) units, used to
	# determine when to start applying FRONT_IMPORTANCE_WEIGHT_WHEN_IN_DISADVANTAGE.
    UNITS_PERCENTAGE_TO_BE_CONSIDERED_IN_DISADVANTAGE = 0.50
	
	# When considering whether to move a general to a particular location, the disparity between wanted and current units of the new location is divided 1 + any relevant values below 
	# This is done to prevent the AI from making costly moves that would only result in small efficiency increases
	FRONT_UNIT_DISPARITY_FOR_MOVE_TRAVEL_TIME_FACTOR = 0.02 # Each day of travel time adds this much to the divisor
	FRONT_ACTIVE_WAR_MOVE_FACTOR = 1.0 # If a general is in an active war front, add this value to the divisor
	FRONT_IN_DISADVANTAGE_FACTOR = 10.0 # If a general is in an active war front with disadvantage, add this value to the divisor
	
	# At what fraction of combat strength compared to the enemy and overall morale will the AI attack
	FRONT_STRENGTH_FACTOR_TO_INVADE = 0.75
	FRONT_MIN_MORALE_TO_ATTACK = 0.5
	
	# Below data is used for Admiral Orders:
	ADMIRAL_ORDERS_RANDOM_FACTOR = 0.5									# The higher this is, the more random AI will be in selection of admiral orders
	ADMIRAL_ORDERS_MIN_OFFENSIVE_FRACTION = 0.25 						# Min fraction the AI will use for offensive operations
	ADMIRAL_ORDERS_MAX_OFFENSIVE_FRACTION = 0.50 						# Max fraction the AI will use for offensive operations
	ADMIRAL_ORDERS_BASE_OFFENSIVE_FRACTION = 0.375 						# How much of its naval forces will the AI use for offensive operations at 100% relative navy strength
	ADMIRAL_ORDERS_OFFENSIVE_FRACTION_SCALING = 0.25					# Fraction the AI will use for offensive operations will be multiplied or divided by (1 + ((stronger side strength ratio - 1) * this)) based on who in the war has the stronger navy
	
	ADMIRAL_ORDERS_STANCE_CHANGE_CHANCE = 0.33							# The chance that an admiral will change their stance from offensive to defensive or vice versa each AI update (1 = 100%)
	
	ADMIRAL_ORDERS_RAID_CONVOYS_LANE_SIZE_FACTOR = 1					# Multiplied by the number of convoys that the target shipping lane uses
	ADMIRAL_ORDERS_RAID_CONVOYS_MILITARY_IMPORTS_MULT = 5.0				# Score for shipping lanes that are importing military goods to enemies is multiplied by this
	ADMIRAL_ORDERS_RAID_CONVOYS_ARMY_SUPPLY_ROUTE_MULT = 3.0			# Score for shipping lanes supporting overseas armies is multiplied by this
	ADMIRAL_ORDERS_RAID_CONVOYS_ARMY_OWN_TERRITORY_SUPPLY_ROUTE_MULT = 10.0	# Score for shipping lanes supporting overseas armies on our fronts is multiplied by this

	ADMIRAL_ORDERS_ESCORT_CONVOYS_RELATIVE_LANE_SIZE_FACTOR = 100		# Apply this score relative to fraction of owning country's convoys used
	ADMIRAL_ORDERS_ESCORT_CONVOYS_ABSOLUTE_LANE_SIZE_FACTOR = 0.1		# Apply this score per actual convoy used by the route
	ADMIRAL_ORDERS_ESCORT_CONVOYS_LANE_SIZE_FACTOR_MAX = 200			# Total lane size factor cannot be above this
	ADMIRAL_ORDERS_ESCORT_CONVOYS_PORT_CONNECTION_WAR_MULT = 0.1		# Score for shipping lanes supporting overseas ports multiplied by this while at war
	ADMIRAL_ORDERS_ESCORT_CONVOYS_PORT_CONNECTION_PEACE_MULT = 1.0		# Score for shipping lanes supporting overseas ports multiplied by this while not at war
	ADMIRAL_ORDERS_ESCORT_CONVOYS_MILITARY_IMPORTS_WAR_MULT = 2.0		# Score for shipping lanes that are importing military goods to our market while at war is multiplied by this
	ADMIRAL_ORDERS_ESCORT_CONVOYS_ARMY_SUPPLY_ROUTE_MULT = 2.0			# Score for shipping lanes supporting our overseas armies is multiplied by this
	ADMIRAL_ORDERS_ESCORT_CONVOYS_ACTIVE_RAIDERS_MULT = 2.0				# Score for shipping lanes that are being actively raided by the enemy is multiplied by this
	
	ADMIRAL_ORDERS_INTERCEPTION_PEACE_NEGOTIATOR_CAPITAL_FACTOR = 300	# Score for defending allied peace negotiator capital region with interception order
	ADMIRAL_ORDERS_INTERCEPTION_OWN_CAPITAL_FACTOR = 1000				# Score for defending our capital region with interception order
	ADMIRAL_ORDERS_INTERCEPTION_WARGOAL_FACTOR = 100					# Score for defending wargoal targeting ally with interception order
	ADMIRAL_ORDERS_INTERCEPTION_WARGOAL_OWN_TERRITORY_FACTOR = 500	    # Score for defending wargoal targeting us with interception order
	
	# Below data is used to determine which regions are most important to declare an interest in
	DECLARE_INTEREST_RANDOM_FACTOR = 1.0 # The higher this is, the more random AI declare interest will be
	DECLARE_INTEREST_BASE_SCORE = 100
	DECLARE_INTEREST_GDP_DIVISOR = 200000
	DECLARE_INTEREST_GDP_WEIGHT = 5 # Per DECLARE_INTEREST_GDP_DIVISOR GDP
	DECLARE_INTEREST_GDP_MAX_WEIGHT = 50
	DECLARE_INTEREST_RIVAL_FACTOR = 25 # For each rival with an interest in the region
	DECLARE_INTEREST_SUPPORTS_TRADE_ROUTE_FACTOR = 1000 # Add if this interest is in a market with which we have a trade route (and there is no other interest that would support it)
	DECLARE_INTEREST_SUPPORTS_DIPLOMATIC_PACT_FACTOR = 1000 # Add if this interest is in a country with which we have a diplomatic pact (and there is no other interest that would support it)
	DECLARE_INTEREST_ADJACENT_REGION_MULT = 1.5
	
	# If an AI country has too many colonial/non-colonial interests, subtract the score of those type of interests by this
	DECLARE_INTEREST_WRONG_INTEREST_TYPE_FACTOR = -100

	# Below data is used to determine which states should be colonized first
	NUM_GROWING_COLONIES_BASE = 1 # How many colonies will the AI keep growing at once (base amount)
	NUM_GROWING_COLONIES_SCALED = 0.01 # 1 extra colony at once per this amount of colonial growth points
	NUM_GROWING_COLONIES_MAX = 5 # No more than this amount of growing colonies at once, regardless of amount of colonial growth points
	COLONY_BASE_WEIGHT = 50
	COLONY_POPULATION_WEIGHT = 0.2	# Per 10000 pops
	COLONY_ARABLE_LAND_WEIGHT = 10
	COLONY_ADJACENT_WEIGHT_MULT = 10.0
	COLONY_UNCONTESTED_WEIGHT_MULT = 3.0	
	COLONY_RANDOM_FACTOR = 2
	
	# This determines how much of their potential conscripts' needed military goods the AI will try to supply even when those conscripts are not raised
	CONSCRIPTION_CENTER_MILITARY_SPENDING_TARGET_BASE = 0.1 # Multiplied by the country's ratio of conscripts to regular troops
	CONSCRIPTION_CENTER_MILITARY_SPENDING_TARGET_MAX = 0.5 # Spending target cannot exceed this amount
	
	# Below data is used to determine how the AI invests into institution
	INSTITUTION_INVESTMENT_RANDOM_FACTOR = 1.0 # The higher this is, the more random AI institution selection will be 
	INSTITUTION_CURRENT_INVESTMENT_DIVISOR = 0.25 # Score for institution is divided by 1 + ( current levels after the first * this )
	MAX_INSTITUTION_SPENDING = 0.005 # AI will not spend more BUR than this on institutions (scaled by weekly GDP)
	INSTITUTION_SPENDING_INCREASE_SPENDING_RATIO = 1.0 # If current + additional institution spending is equal or less than max spending * this, try to improve some institutions
	INSTITUTION_SPENDING_DECREASE_SPENDING_RATIO = 2.0 # If current institution spending is at least max spending * this, try to degrade some institutions 
	
	# Below data is used to calculate how much weight the AI places on different things it can spend its weekly money income on
	MONEY_SPENDING_RANDOM_FACTOR = 2.0 # The higher this is, the more random new AI money spending will be
	MONEY_SPENDING_MAX_RATIO_TO_REMOVE_SHOULD_HAVE = 1.05 # How low of a income-to-expenses ratio does the AI need to have to consider reducing spending on a 'should-have'
	MONEY_SPENDING_MAX_RATIO_TO_REMOVE_WANTS_TO_HAVE = 1.10 # How low of a income-to-expenses ratio does the AI need to have to consider reducing spending on a 'wants-to-have'
	MONEY_SPENDING_MAX_RATIO_TO_REMOVE_NICE_TO_HAVE = 1.20 # How low of a income-to-expenses ratio does the AI need to have to consider reducing spending on a 'nice-to-have'
	MONEY_SPENDING_MIN_RATIO_TO_ADD_SHOULD_HAVE = 1.2 # How much of a income-to-expenses ratio does AI want to have after increasing spending for a 'should-have' project 
	MONEY_SPENDING_MIN_RATIO_TO_ADD_WANTS_TO_HAVE = 1.3 # How much of a income-to-expenses ratio does AI want to have after increasing spending for a 'wants-to-have' project
	MONEY_SPENDING_MIN_RATIO_TO_ADD_NICE_TO_HAVE = 1.4 # How much of a income-to-expenses ratio does AI want to have after increasing spending for a 'nice-to-have' project
	MONEY_SPENDING_MIN_SURPLUS_TO_ADD_SHOULD_HAVE = 2000 # How much of a surplus in absolute money does AI want to have after increasing spending for a 'should-have' project
	MONEY_SPENDING_MIN_SURPLUS_TO_ADD_WANTS_TO_HAVE = 5000 # How much of a surplus in absolute money does AI want to have after increasing spending for a 'wants-to-have' project
	MONEY_SPENDING_MIN_SURPLUS_TO_ADD_NICE_TO_HAVE = 10000 # How much of a surplus in absolute money does AI want to have after increasing spending for a 'nice-to-have' project
	MONEY_SPENDING_MIN_SURPLUS_TO_ALWAYS_ADD_SHOULD_HAVE = 25000 # If AI has this surplus in absolute money, it's always fine to increase spending on a 'should-have' project, regardless of income ratio
	MONEY_SPENDING_MIN_SURPLUS_TO_ALWAYS_ADD_WANTS_TO_HAVE = 50000 # If AI has this surplus in absolute money, it's always fine to increase spending on a 'wants-to-have' project, regardless of income ratio
	MONEY_SPENDING_MIN_SURPLUS_TO_ALWAYS_ADD_NICE_TO_HAVE = 100000 # If AI has this surplus in absolute money, it's always fine to increase spending on a 'nice-to-have' project, regardless of income ratio
	MONEY_SPENDING_ACCEPTABLE_WAR_DEBT = 0.5 # If the AI has less than this % debt to ceiling, avoid doing cost-cutting at war for 'wants to have' and above
	MONEY_SPENDING_MIN_RATIO_TO_CONSIDER_GOLD_RESERVES = 0.8 # How low of a income-to-expenses ratio does the AI need to have to try to cut spending regardless of how plentiful its gold reserves are (when at peace)
	MONEY_SPENDING_MIN_WEEKS_OF_GOLD_RESERVES_TO_NOT_REMOVE_SHOULD_HAVE = 20 # If we have enough gold reserves to maintain our current spending for this long, don't decrease spending on a 'should-have'
	MONEY_SPENDING_MIN_WEEKS_OF_GOLD_RESERVES_TO_NOT_REMOVE_WANTS_TO_HAVE = 40 # If we have enough gold reserves to maintain our current spending for this long, don't decrease spending on a 'wants-to-have'
	MONEY_SPENDING_MAX_WEEKS_OF_DEBT_TO_ADD_SHOULD_HAVE = 50 # If we have so much debt it will take more than this number of weeks to pay it off, don't increase spending on a 'should-have'
	MONEY_SPENDING_MIN_GOLD_RESERVE_FRACTION_TO_ADD_WANTS_TO_HAVE = 0.2 # If we don't have at least this fraction of gold reserves, don't increase spending on a 'wants-to-have'
	MONEY_SPENDING_MIN_GOLD_RESERVE_FRACTION_TO_ADD_NICE_TO_HAVE = 0.2 # If we don't have at least this fraction of gold reserves, don't increase spending on a 'nice-to-have'
	
	MONEY_SPENDING_LAND_THREAT_THRESHOLD = 0.25 # If a hostile country has a more than this much larger army than AI does, it wants to increase military spending
	MONEY_SPENDING_NAVY_THREAT_THRESHOLD = 0.50 # If a hostile country has a more than this much larger navy than AI does, it wants to increase military spending
	MONEY_SPENDING_PRESTIGE_RIVAL_THRESHOLD = 0.5 # If a rival has this much more prestige than AI does, it wants to increase spending on art academies
	MONEY_SPENDING_TECH_RIVAL_THRESHOLD = 0.25 # If a rival has this much more weekly innovation than AI does, it wants to increase spending on universities
	
	MONEY_SPENDING_MILITARY_CRITICAL_THRESHOLD = 0.5 # If actual-to-wanted number of barracks/naval bases is below this, AI will not consider downsizing them further
	MONEY_SPENDING_CONSTRUCTION_CRITICAL_THRESHOLD = 0.25 # If actual-to-wanted number of construction sector buildings is below this, AI considers it very important to get more
	MONEY_SPENDING_INNOVATION_CRITICAL_THRESHOLD = 0.25 # If innovation production compared to cap is worse than this, AI considers it very important to improve
	MONEY_SPENDING_INNOVATION_DESIRED_THRESHOLD = 0.75 # If innovation production compared to cap is worse than this, AI considers it important to improve
	MONEY_SPENDING_SUPPLY_NETWORK_CRITICAL_THRESHOLD = 0.75 # If supply network is worse than this, AI considers it critical to improve it
	MONEY_SPENDING_SUPPLY_NETWORK_DESIRED_THRESHOLD = 1.25 # If supply network is worse than this, AI wants to improve it
	MONEY_SPENDING_BUREAUCRACY_CRITICAL_THRESHOLD = 1.0 # If bureaucracy income to expenses is worse than this, AI considers it critical to improve it
	MONEY_SPENDING_BUREAUCRACY_DESIRED_THRESHOLD = 1.20 # If bureaucracy income to expenses is worse than this, AI wants to improve it
	MONEY_SPENDING_BUREAUCRACY_EXCESSIVE_THRESHOLD = 1.30 # If bureaucracy income to expenses is better than this, AI will not improve it
	MONEY_SPENDING_INFRASTRUCTURE_CRITICAL_THRESHOLD = 0.80 # If infra production to usage is worse than this, AI considers it critical to improve it
	MONEY_SPENDING_INFRASTRUCTURE_DESIRED_THRESHOLD = 1.20 # If infra production to usage is worse than this, AI wants to improve it
	
	# Below data is used to calculate how much weight the AI places on specific government buildings
	GOVERNMENT_BUILDING_BASE_VALUE = 1000 # If no ai_value is scripted in the building
	GOVERNMENT_BUILDING_FAVORED_GOODS_FACTOR = 0.25 # Total weight is multiplied by ( 1 + this ) for each building output that the AI favors for either import or export
	GOVERNMENT_BUILDING_DISFAVORED_GOODS_FACTOR = -0.10 # Total weight is multiplied by ( 1 + this ) for each building output good that the AI disfavors

	# Below data is used to calculate where the AI will locate new government buildings
	GOVERNMENT_BUILDING_STATE_CAPITAL_FACTOR = 250 # Add this score for certain types of government buildings in the capital
	GOVERNMENT_BUILDING_STATE_MARKET_CAPITAL_FACTOR = 250 # Add this score for certain types of government buildings in the market capital	
	GOVERNMENT_BUILDING_STATE_ARMY_NON_ACCEPTED_POP_FACTOR = -250 # Multiply this score by fraction of discriminated Pops in the state
	GOVERNMENT_BUILDING_STATE_ARMY_ACCEPTED_POP_FACTOR = 250 # Multiply this score by fraction of accepted Pops in the state
	GOVERNMENT_BUILDING_STATE_NAVY_NON_ACCEPTED_POP_FACTOR = -250 # Multiply this score by fraction of discriminated Pops in the state
	GOVERNMENT_BUILDING_STATE_NAVY_ACCEPTED_POP_FACTOR = 250 # Multiply this score by fraction of accepted Pops in the state	
	GOVERNMENT_BUILDING_STATE_UNINCORPORATED_MULT = 0.25 # Multiply score by this if the state is unincorporated 
	GOVERNMENT_BUILDING_STATE_MISSING_QUALIFICATIONS_MULT = 0.10 # Multiply score by this if there's not enough qualifications to staff the building
	GOVERNMENT_BUILDING_STATE_MISSING_INFRASTRUCTURE_DIV = 0.50 # Divide score by ( 1 + this * number of missing infrastructure after adding this building )
	GOVERNMENT_BUILDING_STATE_ECONOMY_OF_SCALE_MULT = 1.25 # Multiply score by this if building uses economy of scale and it's already present in the state
	GOVERNMENT_BUILDING_STATE_POP_CONSTRUCTION_SECTOR_IMPORTANCE_THRESHOLD = 250000 # Above this amount of state population, AI considers it important to have a construction sector in the state
	GOVERNMENT_BUILDING_STATE_POP_CONSTRUCTION_SECTOR_IMPORTANCE_MULT = 1.5 # Multiply score by this if state GDP is at least the above value for purposes of scoring the first level of construction sector
	
	# Below data is used to calculate how much weight the AI places on specific subsidies
	SUBSIDIZE_BASE_VALUE = 1000
	SUBSIDIZE_SHARE_OF_INFRA_FACTOR = 4000		# How highly is subsidization of a building valued if it provides 100% of the infrastructure in the state region
	SUBSIDIZE_SHARE_OF_SUPPLY_FACTOR = 2000		# How highly is subsidization of a building valued if it provides 100% of the sell orders for a good in the market
	SUBSIDIZE_FAVORED_GOODS_MULT = 1.5 			# Share of supply factor is multiplied by this for a good that the AI wants a high supply of
	SUBSIDIZE_DISFAVORED_GOODS_MULT = 0.75 		# Share of supply factor is multiplied by this for a good that the AI disfavors
	
	# Below data is used to calculate how much weight the AI places on different things it can spend its authority on
	AUTHORITY_SPENDING_RANDOM_FACTOR = 0.5 # The higher this is, the more random new AI authority spending will be
	
	# Below data is used to calculate how much weight the AI places on promoting an IG
	PROMOTION_BASE_VALUE = 50
	
	# Below data is used to calculate how much weight the AI places on suppressing an IG
	SUPPRESSION_BASE_VALUE = 75
	
	# Below data is used to calculate how much weight the AI places on consumption taxes 
	CONSUMPTION_TAX_INCOME_VALUE = 10 # Per percent of state expenses in taxable value (this is then multiplied by relative authority cost of the good)
	CONSUMPTION_TAX_STAPLE_MULT = 0.5 # Multiply desire to tax staple goods by this
	CONSUMPTION_TAX_LUXURY_MULT = 2.0 # Multiply desire to tax luxury goods by this
	CONSUMPTION_TAX_LOW_INCOME_THRESHOLD = 1.25 # Income-to-expenses threshold below which consumption taxes are a must-have
	CONSUMPTION_TAX_HIGH_INCOME_THRESHOLD = 1.5 # Income-to-expenses threshold at which consumption taxes should be removed (if removal would not put us below this)
	CONSUMPTION_TAX_MAX_NUM_TAXED_GOODS_BASE = 0 # Base max number of goods AI wants to tax
	CONSUMPTION_TAX_MAX_NUM_TAXED_GOODS_PER_MISSING_TAX_TYPE = 2 # Added to max number of goods AI wants to tax for each other type of tax it does not collect

	# Below data is used to calculate which goods the AI thinks it should embargo
	# TODO: Convert to logic for export/import tariff focus
	EMBARGO_REQUIRED_SCORE = 100 			# Score needs to add up to this for AI to want to embargo a good
	EMBARGO_REQUIRED_PRICE_LEVEL = 1.25 	# If the price of a good isn't at least this relative to baseline, don't embargo it 
	EMBARGO_REQUIRED_BUILDING_CONSUMPTION_VALUE = 400 # Minimum value of ( buy orders * base price ) that is building consumption of this good to consider an embargo
	EMBARGO_BUILDING_CONSUMPTION_VALUE_FACTOR = 10 # For each % of ( buy orders * base price ) in the market that is building consumption of this good, add this score
	EMBARGO_GOODS_HIGH_PRICE_LEVEL_MULT = 5.0 	# Goods price level above baseline is multiplied by this and then applied as a multiplicative effect on embargo score
	EMBARGO_GOODS_EXPORTED_SHORTAGE_MULT = 10.0 	# If a goods is in shortage and being exported, multiply embargo score by this (overrides EMBARGO_GOODS_HIGH_PRICE_LEVEL_MULT)
	EMBARGO_STICKYNESS = 1.5 				# How much higher is an existing embargo scored
	EMBARGO_MIN_DURATION = 12 				# AI will not consider removing a recently placed embargo for this number of months
	EMBARGO_MAX_SPENDING_FRACTION = 0.25 	# How much of its total Influence production is the AI willing to use for embargos
	
	# Below data is used to calculate how much weight the AI places on a production building
	PRODUCTION_BUILDING_RANDOM_FACTOR = 10.0 # The higher this is, the more random AI construction will be
	PRODUCTION_BUILDING_BASE_VALUE = 1000 # If no ai_value is scripted in the building
	PRODUCTION_BUILDING_GOODS_PROFIT_FACTOR = 5000 # Per pound of predicted building profit (divided by employee count per level)
	PRODUCTION_BUILDING_GOODS_DEFICIT_FACTOR = 10000 # Per pound of predicted building deficit (divided by employee count per level and multiplies a negative value)
	PRODUCTION_BUILDING_GOODS_DEFICIT_SUBSIDIZE_FACTOR = 5000 # Overrides PRODUCTION_BUILDING_GOODS_DEFICIT_FACTOR for subsidized buildings
	PRODUCTION_BUILDING_PRODUCED_VALUE_FACTOR = 0.25 # Per pound of produced goods in base value
	PRODUCTION_BUILDING_INCORPORATED_INFRASTRUCTURE_USAGE_FACTOR = 0.05 # Total weight is divided by ( 1 + this * building infrastructure usage ) in incorporated states
	PRODUCTION_BUILDING_UNINCORPORATED_INFRASTRUCTURE_USAGE_FACTOR = 0.25 # Total weight is divided by ( 1 + this * building infrastructure usage ) in unincorporated states
	PRODUCTION_BUILDING_OUTPUT_HIGH_PRICE_THRESHOLD = 1.25 # Lower threshold multiplier of base price for applying 'high price' modifier below
	PRODUCTION_BUILDING_OUTPUT_HIGH_PRICE_FACTOR = 0.75 # Add this value to a building for each unit of money worth of goods above high price threshold that this building produces
	PRODUCTION_BUILDING_OUTPUT_LOW_PRICE_THRESHOLD = 0.75 # Upper threshold multiplier of base price for applying 'low price' modifier below
	PRODUCTION_BUILDING_OUTPUT_LOW_PRICE_FACTOR = -0.5 # Add this value to a building for each unit of money worth of goods below low price threshold that this building produces
	PRODUCTION_BUILDING_SUBSIDIZE_PRICE_FACTOR_MULT = 1.25 # Multiply the effects of price factors on buildings that the AI will consider subsidizing
	PRODUCTION_BUILDING_OUTPUT_NEW_GOODS_FACTOR = 2.0 # Add this value to a building for each unit of money worth of goods that currently isn't available in our market but the AI wants to prioritize
	PRODUCTION_BUILDING_OUTPUT_WANTED_INDUSTRIAL_GOODS_FACTOR = 0.25 # Add this value to a building for each unit of money worth of industrial goods that aren't overproduced in the country and are used by buildings
	PRODUCTION_BUILDING_OUTPUT_WANTED_MILITARY_GOODS_FACTOR = 0.25 # Add this value to a building for each unit of money worth of military goods that aren't overproduced in the country and are used by buildings
	RODUCTION_BUILDING_OUTPUT_NEEDED_INDUSTRIAL_GOODS_FACTOR = 0.5 # Add this value to a building for each unit of money worth of industrial goods that are underproduced in the country and are used by buildings
	PRODUCTION_BUILDING_OUTPUT_NEEDED_MILITARY_GOODS_FACTOR = 0.5 # Add this value to a building for each unit of money worth of military goods that are underproduced in the country and are used by buildings
	PRODUCTION_BUILDING_CAN_USE_INVESTMENT_POOL_MULT = 1.25 #  Total weight is multiplied by this if the building can be funded by the country's investment pool
	PRODUCTION_BUILDING_NEW_GOODS_OUTPUT_MULT = 1.25 #  Total weight is multiplied by this if the building outputs a good not available in our market
	PRODUCTION_BUILDING_FAVORED_GOODS_FACTOR = 0.5 # Add this value to a building for each unit of money worth of building goods output that the AI favors
	PRODUCTION_BUILDING_DISFAVORED_GOODS_FACTOR = -0.25 # Add this value to a building for each unit of money worth of building goods output that the AI disfavors
	PRODUCTION_BUILDING_MISSING_QUALIFICATIONS_MULT = 0.50 # Multiply score by this if there's not enough qualifications to staff the building (disabled for now)
	PRODUCTION_BUILDING_MISSING_INFRASTRUCTURE_DIV = 0.25 # Divide score by ( 1 + this * number of missing infrastructure after adding this building )
	PRODUCTION_BUILDING_ECONOMY_OF_SCALE_MULT = 1.25 # Multiply score by this if building uses economy of scale and it's already present in the state
	PRODUCTION_BUILDING_DESIRED_INFRASTRUCTURE_RATIO = 1.15 # If infra production to usage is worse than this, AI wants to improve it
	PRODUCTION_BUILDING_BELOW_DESIRED_INFRASTRUCTURE_MULT = 20.0 # Multiply score by this if the building would improve infrastructure and it's below desired threshold
	PRODUCTION_BUILDING_EXCESSIVE_INFRASTRUCTURE_RATIO = 1.30 # If infra production to usage is better than this, AI doesn't want to improve it
	PRODUCTION_BUILDING_ABOVE_EXCESSIVE_INFRASTRUCTURE_MULT = 0.5 # Multiply score by this if the building would improve infrastructure and it's above excessive threshold
	PRODUCTION_BUILDING_REDUCE_SHORTAGE_MULT = 5 # Multiply score by this if we're reducing the state region's shortages
	PRODUCTION_BUILDING_INCREASE_SHORTAGE_MULT = 0.01 # Multiply score by this if we're increasing the state region's shortages
	PRODUCTION_BUILDING_OTHER_BUILDING_TYPES_UNDER_CONSTRUCTION_DIV = 0.5 # Divide score by (1 + this * number of other building types queued in the state) 
	PRODUCTION_BUILDING_LONG_CONSTRUCTION_TIME_THRESHOLD = 40
	PRODUCTION_BUILDING_LONG_CONSTRUCTION_TIME_MULT = 0.5 # Multiply score by this if construction time would take more than PRODUCTION_BUILDING_LONG_CONSTRUCTION_TIME_THRESHOLD weeks at full construction industry usage (ignores MAX_WEEKLY_CONSTRUCTION_PROGRESS)
	PRODUCTION_BUILDING_VERY_LONG_CONSTRUCTION_TIME_THRESHOLD = 60
	PRODUCTION_BUILDING_VERY_LONG_CONSTRUCTION_TIME_MULT = 0.25 # Multiply score by this if construction time would take more than PRODUCTION_BUILDING_VERY_LONG_CONSTRUCTION_TIME_THRESHOLD weeks at full construction industry usage (ignores MAX_WEEKLY_CONSTRUCTION_PROGRESS)
	
	# Below data is used to calculate how much weight the AI places on enacting/revoking a law
	CHANGE_LAW_RANDOM_FACTOR = 1.0 # The higher this is, the more random AI law enactment will be
	CHANGE_LAW_PRO_IG_IDEOLOGIES_FACTOR = 100 # For enacting laws, per ideology match for IGs we approve of
	CHANGE_LAW_ANTI_IG_IDEOLOGIES_FACTOR = -25 # For enacting laws, per ideology match for IGs we disapprove of
	CHANGE_LAW_POLITICAL_MOVEMENT_SUPPORT_FACTOR = 1 # Scales with movement support for movement that wants to enact the law
	CHANGE_LAW_POLITICAL_MOVEMENT_RADICALISM_FACTOR = 3 # Scales with movement radicalism for movement that wants to enact the law
	CHANGE_LAW_POTENTIAL_CIVIL_WAR_THRESHOLD = 75 # If the political movement to preserve the law the AI is replacing would have at least this much radicalism, AI considers it a potential civil war cause
	CHANGE_LAW_POTENTIAL_CIVIL_WAR_ENACT_CHANCE = 10 # Chance that the AI will proceed with a law change that could cause a civil war (1 = 1%)
	CHANGE_LAW_CIVIL_WAR_AVERSION_SUBJECT_MULTIPLIER = 5 # Chance that AI stops enacting a law to avoid a civil war is increased by this for subjects
	CHANGE_LAW_CIVIL_WAR_AVERSION_LAW_DIRECTION_FLEXIBILITY = 10 # Revolution aversion is multiplied by this and added to the max progressiveness/regressiveness the AI is willing to stomach to avoid a revolution
	
	# Below data is used to calculate how much weight the AI places on a production method	
	PRODUCTION_METHOD_BASE_VALUE = 1000
	PRODUCTION_METHOD_PROFIT_FACTOR = 1 # Per pound of profit the produced goods would generate
	PRODUCTION_METHOD_DEFICIT_FACTOR = 1.5 # Per pound of deficit the produced goods would generate (multiplies a negative value)
	PRODUCTION_METHOD_PRODUCED_VALUE_FACTOR = 0.25 # Per pound of produced goods in base value
	PRODUCTION_METHOD_REDUCE_OUTPUT_PENALTY_FACTOR = 10 # Multiply method score by this if we're reducing the building's output penalties
	PRODUCTION_METHOD_INCREASE_OUTPUT_PENALTY_FACTOR = 0.01 # Multiply method score by this if we're increasing the building's output penalties
	PRODUCTION_METHOD_FAVORED_GOODS_FACTOR = 0.5 # Per base cost * units of goods produced that the AI favors
	PRODUCTION_METHOD_DISFAVORED_GOODS_FACTOR = -0.25 # Per base cost * units of goods produced that the AI disfavors
	PRODUCTION_METHOD_UNDESIRABLE_GOODS_PRICE_THRESHOLD = 1.5 # If a PM using the 'most productive' logic makes use of a good whose price is above ( base * this ), reduce the score
	PRODUCTION_METHOD_UNDESIRABLE_GOODS_PRICE_FACTOR = -0.5 # Per base cost * units of goods whose price is above undesirable price threshold
	PRODUCTION_METHOD_STICKYNESS = 1.25 # Score of current method is multiplied by this
	PRODUCTION_METHOD_CHANCE_TO_CHANGE = 0.1 # Chance that the AI will consider changing a production method when evaluating methods
	PRODUCTION_METHOD_LOW_POP_THRESHOLD = 50000 # If a state's population is less than this, use the scoring factor below for low-pop PMs
	PRODUCTION_METHOD_LOW_POP_FACTOR = 100 # If a state's population is less than PRODUCTION_METHOD_LOW_POP_THRESHOLD, multiply score by this
		
	# Below data is used to calculate AI's desire for peace
	AI_PEACE_AGREEMENT_BASE_VALUE = 0
	AI_PEACE_AGREEMENT_WHITE_PEACE = 10 # If no wargoals are being enforced on either side
	AI_PEACE_AGREEMENT_WAR_SUPPORT_FACTOR = -1	
	AI_PEACE_AGREEMENT_ALLY_WARGOAL_FACTOR = 10 # For each wargoal that our allies are pressing
	AI_PEACE_AGREEMENT_SELF_WARGOAL_FACTOR = 30 # For each wargoal we have that's being pressed
	AI_PEACE_AGREEMENT_ENEMY_WARGOAL_SELF_FACTOR = -50 # For each wargoal that the enemy is pressing against us
	AI_PEACE_AGREEMENT_ENEMY_WARGOAL_ALLY_FACTOR = -10 # For each wargoal that's being pressed against our allies
	AI_PEACE_AGREEMENT_PEACE_DESIRE_FACTOR = 1.0 # Peace desire is multiplied by this when added to peace agreement acceptance score
	
	AI_CAPITULATE_BASE_VALUE = -25
	AI_CAPITULATE_WAR_LEADER_FACTOR = -25 # If warleader
	AI_CAPITULATE_WAR_SUPPORT_FACTOR = -1	
	AI_CAPITULATE_SELF_WARGOAL_FACTOR = -10 # For each wargoal we hold in the war
	AI_CAPITULATE_ENEMY_WARGOAL_FACTOR = -30 # For each wargoal targeting us in the war
	AI_CAPITULATE_PEACE_DESIRE_FACTOR = 0.5 # Peace desire is multiplied by this when added to capitulation score
	
	AI_PEACE_DESIRE_DROP_WAR_GOAL_THRESHOLD = 20 # For each this amount of ( peace desire - war support ) above 0, remove a war goal on our side
	AI_PEACE_DESIRE_DROP_ALL_WAR_GOALS_THRESHOLD = 100 # At this amount of ( peace desire - war support ), drop all war goals on our side
	AI_MONTHS_OF_REDUCED_PEACE_DESIRE = 6 # Before this amount of months, reduce AI peace desire
	AI_PEACE_DESIRE_FROM_SHORT_WAR = -100 # Subtract this amount of peace desire for the above number of months
	AI_PEACE_DESIRE_FROM_TURMOIL = 25 # Add this amount of peace desire at 100% radicals
	AI_PEACE_DESIRE_FROM_DEVASTATION = 50 # Add this amount of peace desire at 100% devastation
	AI_PEACE_DESIRE_FROM_LOYALISTS = -25 # Subtract this amount of peace desire at 100% loyalists
	AI_PEACE_DESIRE_FROM_DEBT_LEVEL = 100 # Add this amount of peace desire at 100% debt level
	AI_PEACE_DESIRE_FROM_GOLD_RESERVES = -50 # Subtract this amount of peace desire at 100% gold reserves
	
	# AI country-specific goal data
	SECRET_GOAL_STICKYNESS = 2.0 # The higher this is, the less likely the AI is to change an established secret goal during recalculation
	SECRET_GOAL_SAME_GOAL_BONUS = 1.5
	SECRET_GOAL_WRONG_TYPE_FOR_DIPLOMATIC_PLAY_MULTIPLIER = 0.25 # Added to friendly secret goals for enemies in a play, and hostile secret goals for allies in a play 
	ATTITUDE_STRONG_GOAL_SCORE_THRESHOLD = 100
	ATTITUDE_WEAK_GOAL_SCORE_THRESHOLD = 50

	GOAL_THREAT_INFAMOUS_FACTOR = 25
	GOAL_THREAT_NOTORIOUS_FACTOR = 50
	GOAL_THREAT_PARIAH_FACTOR = 1000
	GOAL_THREAT_NEIGHBOR_FACTOR = 25
	GOAL_THREAT_SP_MAX_MULT = 2
	GOAL_THREAT_CUSTOMS_UNION_MULT = 0.5 # Reduce neighbor threat score by this if in a customs union
	
	GOAL_ANTAGONIZE_POOR_RELATIONS_FACTOR = 25
	GOAL_ANTAGONIZE_COLD_RELATIONS_FACTOR = 50
	GOAL_ANTAGONIZE_HOSTILE_RELATIONS_FACTOR = 100
	GOAL_ANTAGONIZE_CONQUER_SCORE_MULT = 1.0 # Multiplied by the total score of the territory we want to take from them
	GOAL_ANTAGONIZE_CONQUER_SCORE_MAX = 200
	GOAL_ANTAGONIZE_DOMINATE_SCORE_MULT = 1.0 # Multiplied by the total score of make-subject wargoals we want to enforce on them
	GOAL_ANTAGONIZE_DOMINATE_SCORE_MAX = 200
	GOAL_ANTAGONIZE_RIVAL_FACTOR = 100
	GOAL_ANTAGONIZE_WAR_FACTOR = 1000
	GOAL_ANTAGONIZE_NATURAL_ENEMY_FACTOR = 75
	
	GOAL_BEFRIEND_CORDIAL_RELATIONS_FACTOR = 25
	GOAL_BEFRIEND_AMICABLE_RELATIONS_FACTOR = 50
	GOAL_BEFRIEND_FRIENDLY_RELATIONS_FACTOR = 100
	GOAL_BEFRIEND_PROTECTOR_THRESHOLD = 15
	GOAL_BEFRIEND_PROTECTOR_FACTOR = 1.0
	GOAL_BEFRIEND_PROTECTOR_RIVAL_MULT = 2.0 # Score multiplied by this if they can protect against our rival
	GOAL_BEFRIEND_PROTECTOR_MAX_FACTOR = 100
	GOAL_BEFRIEND_PROTECTOR_SP_MAX_MULT = 2
	GOAL_BEFRIEND_SUBJECT_FACTOR = 25
	GOAL_BEFRIEND_ALLIANCE_FACTOR = 50
	GOAL_BEFRIEND_NATURAL_ALLY_FACTOR = 75
	GOAL_BEFRIEND_RECONCILE_FACTOR = 500
	GOAL_BEFRIEND_WAR_ALLY_FACTOR = 1000
	GOAL_BEFRIEND_WANTS_TO_PROTECT_FACTOR = 100
	
	FRIENDLY_AI_JOIN_DIPLO_PLAY_FACTOR = 100
	
	VIOLATE_SOVEREIGNTY_ACTION_NAME = "violate_sovereignty"
	VIOLATE_SOVEREIGNTY_MIN_RELATIVE_STRENGTH = 2.0 # We must have their army x this in SP to want to violate their sovereignty
	VIOLATE_SOVEREIGNTY_RANDOM_FACTOR = 2.0 # The higher this is, the more random the AI will be about who it violates the sovereignty of
	VIOLATE_SOVEREIGNTY_MIN_THEATER_IMPORTANCE = 150 # A theater must have at least this much war value for AI to consider violating sovereignty to get access to it
	VIOLATE_SOVEREIGNTY_COOLDOWN_DAYS = 100

	EXPEL_DIPLOMATS_ACTION_NAME = "expel_diplomats"
	
	# For the AI to want to start a trade route, they usually want it to be at least this level
	TRADE_ROUTE_MIN_DESIRED_LEVEL_SCALING = 0.001 # Scales with (acting market trade potential * goods quantity per trade route level)
	TRADE_ROUTE_MIN_DESIRED_LEVEL_MIN = 1 
	TRADE_ROUTE_MIN_DESIRED_LEVEL_MAX = 5 
	
	# The AI never cancels current trade routes of this level or above
	TRADE_ROUTE_MAX_LEVEL_TO_CANCEL_SCALING = 0.002 # Scales with (acting market trade potential * goods quantity per trade route level)
	TRADE_ROUTE_MAX_LEVEL_TO_CANCEL_MIN = 1
	TRADE_ROUTE_MAX_LEVEL_TO_CANCEL_MAX = 9 
	
	TRADE_ROUTE_MIN_MARKET_SHARE = 0.25 # If the AI is junior in a customs union and has less than this market share in a market, don't make any trade routes
	TRADE_ROUTE_MIN_SCORE_TO_CREATE_BASE = 1000 # If a potential trade route is scored less than this, don't create it
	TRADE_ROUTE_MIN_SCORE_TO_CREATE_GDP_SCALING = 1000000 # Base scale for TRADE_ROUTE_MIN_SCORE_TO_CREATE_GDP_FACTOR
	TRADE_ROUTE_MIN_SCORE_TO_CREATE_GDP_SCALING_MAX = 25000000 # TRADE_ROUTE_MIN_SCORE_TO_CREATE_GDP_SCALING can't be higher than this
	TRADE_ROUTE_MIN_SCORE_TO_CREATE_GDP_FACTOR = 50 # For each TRADE_ROUTE_MIN_SCORE_TO_CREATE_GDP_SCALING market GDP, add this to min score required to create trade route
	TRADE_ROUTE_ACCEPTABLE_SPENDING = 0.002 # AI will not spend more BUR than this on trade routes (scaled by weekly GDP)
	TRADE_ROUTE_ACCEPTABLE_SPENDING_MINIMUM = 100 # If TRADE_ROUTE_ACCEPTABLE_SPENDING is less than this, this is used instead (so even small countries can do some trading)
	TRADE_ROUTE_PLAYER_SUGGESTION_MIN_SCORE_MULT = 1.0 # If trade route has at least (min AI score to create * this) in score, suggest it as a possible route for player
	
	TRADE_ROUTE_RANDOM_FACTOR = 1.0 # The higher this is, the more random the AI will be about where it makes trade routes
	TRADE_ROUTE_EXPORT_VS_IMPORT_TOLERANCE = 1.5 # The AI is OK with having up to this amount more import than export routes or vice versa
	TRADE_ROUTE_TRADE_VALUE_FACTOR = 1.0 # The expected final trade volume * base price of goods is multiplied by this
	TRADE_ROUTE_SUGGESTION_COMPETITION_FACTOR = -0.75 # The amount of sell/buy orders generated by routes that directly compete with this route is multiplied by this for suggesting routes to the player
	TRADE_ROUTE_WANTED_NEW_GOODS_FACTOR = 5000 # Add this if the trade route is importing a good to the market that the AI wants and has no local production for
	TRADE_ROUTE_DISTANCE_DIVISOR = 0.002 # Divide the trade route value by 1 + (absolute distance between the two market capitals * this) to encourage AI to trade with nearby markets (we use this instead of more expensive convoy distance calc)
	TRADE_ROUTE_TARIFF_DIVISOR = 2 # Divide the trade route value by 1 + ( total tariff rate * this ) 
	TRADE_ROUTE_EXISTING_ROUTES_DIVISOR = 1.0 # Score for trade route is divided by (1 + this) for each trade route the market has of the same goods
	TRADE_ROUTE_FAVORED_GOODS_MULT = 2.0 # Total weight is multiplied by this if the trade route is trading a good in a way the AI favors
	TRADE_ROUTE_DISFAVORED_GOODS_MULT = 0.5 # Total weight is multiplied by this if the trade route is trading a good in a way the AI disfavors
	TRADE_ROUTE_MIN_AVAILABLE_WORKFORCE = 5000 # If trade center state has less than this amount of available workforce, don't start a new trade route
	TRADE_ROUTE_REPLACE_THRESHOLD = 5.0 # If there is a sufficiently better new trade route (old route score x this), remove the old one
	TRADE_ROUTE_SUPPLY_NETWORK_STRENGTH_THRESHOLD = 1.0 # If supply network strength less than this, don't make new trade routes
	TRADE_ROUTE_REDUCE_SHORTAGE_MULT = 10 # Multiply score by this if we're reducing the market's shortages
	TRADE_ROUTE_INCREASE_SHORTAGE_MULT = 0 # Multiply score by this if we're increasing the market's shortages
	TRADE_ROUTE_MIN_ACCEPTABLE_PRODUCTIVITY = 5.0 # If a potential trade route would result in lower productivity than this, apply penalty below
	TRADE_ROUTE_BELOW_ACCEPTABLE_PRODUCTIVITY_MULT = 0.25 # Multiply score by this if the trade route is below TRADE_ROUTE_MIN_ACCEPTABLE_PRODUCTIVITY
	TRADE_ROUTE_IMPORT_SCORE_MULT = 1.0 # How much does AI multiply score of import routes
	TRADE_ROUTE_EXPORT_SCORE_MULT = 1.5 # How much does AI multiply score of export routes
  
	TAKE_NO_DECISION_WEIGHT = 5
}

NCountry = {
	DEFAULT_COUNTRY_TYPE = "recognized"
	MAX_NUM_COUNTRY_FORMATION_CANDIDATES = 3
	COUNTRY_FORMATION_CANDIDATE_MIN_RANK = 5
	COUNTRY_FORMATION_ANNEXATION_TARGET_MAX_RANK = 6
	MOVE_CAPITAL_COOLDOWN_YEARS = 5
	MOVE_MARKET_CAPITAL_COOLDOWN_YEARS = 5
	MIN_DISAPPROVAL_VALUE = 0			
	MAX_DISAPPROVAL_VALUE = 100
	MAX_POWER_EFFECT = 1.0 # The max by which a power excess/deficiency modifier can scale						
	SPLIT_STATE_MIN_LAND_SHARE = 0.05
	SPLIT_STATE_DOMINANT_LAND_SHARE_THRESHOLD = 0.5	# States with more land share than this can use the region's name
	SPLIT_STATE_PRIME_LAND_WEIGHT = 5.0
	CAPITAL_CULTURE_CORE_WEIGHT = 10
	CAPITAL_NON_INCORPORATED_WEIGHT = 0.001
	DEFAULT_SUBSISTENCE_BUILDING = "building_subsistence_farms"
	CONSTRUCTION_CAMP_BUILDING = "building_construction_sector"
	BARRACKS_BUILDING = "building_barracks"
	NAVAL_BASE_BUILDING = "building_naval_base"
	URBAN_CENTER_BUILDING = "building_urban_center"
	CONSCRIPTION_CENTER_BUILDING = "building_conscription_center"
	TRADE_CENTER_BUILDING = "building_trade_center"
	CONSTRUCTION_QUEUE_INCREMENT_SHIFT = 5  # Increment/Decrement used for buildings construction queue when holding down Shift
	CONSTRUCTION_QUEUE_INCREMENT_CONTROL = 10 # Increment/Decrement used for buildings construction queue when holding down Ctrl
	WEEKS_TO_STORE_LOYALIST_RADICAL_STATISTICS = 52 # Number of weeks of statistics for loyalists/radicals that is stored and shown
	INCORPORATION_TIME_SAME_CULTURE = 2				# Years if the state is a Homeland of one of the country's primary cultures
	INCORPORATION_TIME_SAME_HERITAGE = 5			# Years if the state is a Homeland of a culture that matches of one of the country's primary cultures' Heritage traits
	INCORPORATION_TIME_SAME_TRAIT = 10				# Years if the state is a Homeland of a culture with any trait in common with a country's primary cultures
	INCORPORATION_TIME_NO_MATCH = 20				# Years if the state's Homeland cultures have nothing in common with the country's primary cultures
	JOURNAL_ENTRY_UPDATE_ACTIVE = 8					# Number of ticks between each update of Active (Possible) Journal Entries, can be overriden on journal entry type
	JOURNAL_ENTRY_UPDATE_INACTIVE = 28				# Number of ticks between each update of Inactive Journal Entries, can be overriden on journal entry type
}

NPolitics = {
	LEADER_IDEOLOGY_RANDOM_FACTOR = 5	# The higher this is, the more random leader ideologies will be
	
	TARIFF_LAW_GROUP = "lawgroup_trade_policy"	# Law from this group is shown to player as their tariff law
	TAX_LAW_GROUP = "lawgroup_taxation"	# Law from this group is shown to player as their tax law
	
	POP_APATHY_RANDOM_FACTOR = 0.1		# The higher this is, the more random the fraction of politically apathetic pops will be
	POP_IG_RANDOM_FACTOR = 0.2			# The higher this is, the more randomly distributed pops will be between valid IGs
	MIN_POP_NUMBER_LEAVE_IG = 100.0		# Min for maximum amount of pops/support that will change IG in a single update (overrides below max fraction)
	MAX_POP_FRACTION_LEAVE_IG = 0.05	# Maximum amount of a pop that can change IGs in a single update (for each IG)
	
	BASE_IG_APPROVAL = 0				# Baseline IG approval
	MIN_IG_APPROVAL = -20				# Minimum IG approval
	MAX_IG_APPROVAL = 20				# Maximum IG approval
	MIN_IG_APPROVAL_FROM_LAWS = -5		# IG cannot have approval lower than this as a total from laws 'on the book'
	MAX_IG_APPROVAL_FROM_LAWS = 5		# IG cannot have approval higher than this as a total from laws 'on the book'
	IG_APPROVAL_FROM_LOYALISTS = 15		# If 100% of the political strength of the IG is loyalist, change approval by this amount
	IG_APPROVAL_FROM_RADICALS = -15		# If 100% of the political strength of the IG is radical, change approval by this amount
	IG_LAW_DESIRE_RADICAL_CHANGE_THRESHOLD = 2 # A difference in positions this or higher is considered radical
	IG_LAW_DESIRE_EXTREME_CHANGE_THRESHOLD = 3 # A difference in positions this or higher is considered extreme
	IG_APPROVAL_FROM_LAW = 1 		# IG approval/disapproval for laws that are for/against their ideologies
	IG_APPROVAL_FROM_LAW_STRONG_STANCE = 2 		# IG approval/disapproval for laws that are strongly for/against their ideologies
	IG_APPROVAL_FROM_LAW_CHANGE = 5 		# IG approval/disapproval for changing to another law
	IG_APPROVAL_FROM_RADICAL_LAW_CHANGE = 10 		# IG approval/disapproval for changing to another law, if the change is a major one
	IG_APPROVAL_FROM_EXTREME_LAW_CHANGE = 20 		# IG approval/disapproval for changing to another law, if the change is extreme
	IG_IN_GOVERNMENT_APPROVAL = 0		# Added if IG is in government
	IG_IN_OPPOSITION_APPROVAL = 0		# Added if IG is in opposition (and not powerful)
	IG_POWERFUL_IN_OPPOSITION_APPROVAL = -1 # Added if powerful IG in opposition
	STARTUP_MIN_LEGITIMACY_IG_BARIER = 40 # Min legitimacy when on startup we allow to remove IGs from goverment that decrease legitimacy
	APPROVAL_THRESHOLD_ANGRY = -10		# At this or below approval, IG is considered angry
	APPROVAL_THRESHOLD_UNHAPPY = -5		# At this or below approval, IG is considered unhappy
	APPROVAL_THRESHOLD_HAPPY = 5		# At this or above approval, IG is considered happy
	APPROVAL_THRESHOLD_LOYAL = 10		# At this or above approval, IG is considered loyal
	CHANGED_LAW_APPROVAL_MONTHS = 60 # How many months does the approval/disapproval for a law change linger after said law chain
	
	LAW_ENACTMENT_MIN_TOTAL_DAYS = 1		# Minimum number of total days that an enactment checkpoint can take [>=1]
	LAW_ENACTMENT_DEFAULT_BASE_DAYS = 180	# Default number of base days required to reach an enactment checkpoint [>=1]
	LAW_ENACTMENT_COOLDOWN_DAYS = 365		# When an enactment fails, or is manually stopped after at least one checkpoint, that law can't be tried to be enacted for this many days [>=0]
	LAW_ENACTMENT_ADVANCE_FACTOR = 2		# The _base_ advance chance is the success chance multiplied by this factor [>=1]
	LAW_ENACTMENT_RULER_IDEOLOGY_EFFECT = 0.05 # Ruler ideology has this impact on a law's chance to pass or stall depending on relative approval
	LAW_ENACTMENT_MOVEMENT_SUPPORT_PASS_EFFECT = 0.01 # Movement support has this impact on a law's chance to pass	
	LAW_ENACTMENT_MOVEMENT_SUPPORT_STALL_EFFECT = 0.005 # Movement support has this impact on a law's chance to stall	
	
	STATE_BUREAUCRACY_BASE_COST = 10		# The base cost per incorporated state
	STATE_BUREAUCRACY_POP_BASE_COST = 4		# The base BUR multiplier per population multiple
	STATE_BUREAUCRACY_POP_MULTIPLE = 100000	# Number of people BUR cost is based on
	MINIMUM_INVESTMENT_COST = 10			# The absolute minimum cost in BUR per investment level
	
	RETIRE_COMMANDER_CONSEQUENCE_DURATION = 5	# Number of years during which an Interest Group will be concerned about the retirement of one of their Commanders
	
	POWERFUL_IG_THRESHOLD = 0.20		# Interest groups with more Clout than this are considered to be influential
	POWERFUL_IG_CUTOFF = 0.18		# Powerful interest groups with less Clout than this will stop being influential
	POWERFUL_IG_TRAIT_BONUS = 1		# The effects of all trait modifiers from influential IGs are increased by this, 1 = +100%
	MARGINAL_IG_THRESHOLD = 0.05		# Interest Groups with Clout above this value are considered relevant while those below are marginal (if not also In Government)
	MARGINAL_IG_CUTOFF = 0.04			# Interest Groups who are already relevant will only become marginal again if they drop below this value.
	
	RECENT_PARTY_DAYS = 14				# Party is considered recently formed if activated within RECENT_PARTY_DAYS days range
	
	DEFAULT_LAW_ACTIVATION_DATE = "1836.1.1"	
	
	MAX_NUM_POLITICAL_MOVEMENTS_WITHOUT_IG_SUPPORT = 1
	MAX_NUM_POLITICAL_MOVEMENTS = 3
	POLITICAL_MOVEMENT_START_CHANCE_BASE = 5 # Base chance of a political movement starting each day if selected to be checked (1 = 1%)
	POLITICAL_MOVEMENT_START_CHANCE_SCALED = 0.05 # Additional chance of a political movement starting scaled with potential support
	POLITICAL_MOVEMENT_START_CHANCE_NUM_MOVEMENTS_DIVISOR = 2 # If we already have movements, divide start chance of a new movement by ( 1 + this * cur num movements )
	POLITICAL_MOVEMENT_TO_PRESERVE_CHECK_TO_START_CHANCE = 25 # Chance that a political movement is checked at all on a daily basis if it's a movement to preserve (for performance reasons)
	POLITICAL_MOVEMENT_TO_RESTORE_CHECK_TO_START_CHANCE = 0.5 # Chance that a political movement is checked at all on a daily basis if it's a movement to restore (for performance reasons)
	POLITICAL_MOVEMENT_TO_ENACT_CHECK_TO_START_CHANCE = 0.2 # Chance that a political movement is checked at all on a daily basis if it's a movement to enact (for performance reasons)
	POLITICAL_MOVEMENT_MIN_SUPPORT_TO_START = 10 # If a political movement would have less support than this, it can't start
	POLITICAL_MOVEMENT_MIN_SUPPORT_TO_REMAIN = 5 # If a political movement falls to less support than this, disband it
	POLITICAL_MOVEMENT_RADICALISM_TARGET_FROM_ANGRY_IG_CLOUT = 300 # At 100% clout of angry IGs supporting this, increase radicalism by this much
	POLITICAL_MOVEMENT_RADICALISM_TARGET_FROM_RADICALS = 500 # At 100% of total population as supporting radicals, increase radicalism by this much
	POLITICAL_MOVEMENT_SUPPORT_FROM_POPULATION = 100 # At 100% of population supporting the movement
	POLITICAL_MOVEMENT_SUPPORT_FROM_CLOUT = 100 # At 100% of political clout supporting the movement
	POLITICAL_MOVEMENT_APATHY_MULTIPLIER = 0.5 # This % of politically apathetic pops also won't join movements even if it's in their interest to do so
	POLITICAL_MOVEMENT_LAW_APPROVAL_POP_SUPPORT_BASE_FACTOR = 0.5 # How many pops belonging to an IG that approves of enacting a law supports the movement to enact the law (base)
	POLITICAL_MOVEMENT_LAW_APPROVAL_POP_SUPPORT_SCALED_FACTOR = 0.25 # How many pops belonging to an IG that approves of enacting a law supports the movement to enact the law (for each approval after 1)
	POLITICAL_MOVEMENT_LAW_APPROVAL_POP_SUPPORT_RESTORE_FACTOR = 0.25 # How many (extra) pops belonging to an IG that approves of enacting a law supports a movement to restore a law
	POLITICAL_MOVEMENT_MIN_DURATION = 12
	POLITICAL_MOVEMENT_MONTHLY_RADICALS = 0.01 		# This fraction of pops backing a non-placated political movement become more radical each month
	POLITICAL_MOVEMENT_LOYALISTS_AT_SUCCESS = 0.25 	# This fraction of pops backing a political movement become more loyalist if movement succeeds
	POLITICAL_MOVEMENT_DISBAND_CHANCE = 0.02 # Chance of a political movement that has lasted longer than POLITICAL_MOVEMENT_MIN_DURATION disbanding each day if radicalism for it is below REVOLUTIONARY_PROGRESSION_FROM_RADICALISM - scales with number of months that have passed (1 = 1%)
	POLITICAL_MOVEMENT_DISBAND_CHANCE_SUPPORT_DIVISOR = 0.01 # Political movement's chance to randomly disband is divided by ( 1 + support * this )
	
	REVOLUTION_SUPPORT_STATE_MULTIPLIER = 0.015		# A revolution will have the backing of ( support * this fraction of states )
	REVOLUTION_MAX_STATE_FRACTION = 0.75			# A revolution cannot be supported by more than this fraction of the states in the country
	MIN_RADICALISM_FOR_REVOLUTION_PROGRESSION = 50	# A political movement must have this much radicalism for a revolution to start organizing
	MIN_RADICALISM_FOR_REVOLUTION_START = 100		# At this amount of radicalism, allow full speed revolutionary progression and a revolution to start
	MAX_PROGRESS_FOR_UNSUPPORTED_REVOLUTIONS = 0.5  # Revolutions from movements that aren't supported by any IGs won't progress further than this
	REVOLUTIONS_PROGRESS_DECAY = 0.01				# Revolution meter without sufficient support
	REVOLUTIONARY_ADJACENCY_BIAS = 4				# higher state selection bias for adjacent states
	
	# Revolutionary states scoring
	REVOLUTION_STATE_WEIGHT_LOCAL_CLOUT_SHARE = 1.0	 # Local clout weight at the moment of revolution secession
	REVOLUTION_STATE_WEIGHT_NATIONAL_AVERAGE = 1.0	 # Local national revolutionary share
	BATTALION_CIVIL_WAR_WEIGHT = 1.0				 # Battalion revolutionary share
	FLOTILLA_CIVIL_WAR_WEIGHT = 1.0					 # Flotilla revolutionary share
	REVOLUTION_STATE_WEIGHT_UNIT_MIN = 0.1			 # Min Unit Weight
	
	REVOLUTION_LOSER_IG_DEBUFF_YEARS = 10			# Debuff duration in years for IG that looses in a revolution
	NUM_REVOLUTIONARY_LAW_CHANGES = 2				# In addition to the main reason for the revolution, a revolutionary constitution will contain this many additional law changes

	SECESSION_LOSER_STATE_RADICAL_GAIN_REDUCTION_WEEKS = 52	# Number of weeks to reduce passive radical gain in states that lost a secession (decaying)
	SECESSION_WON_LOYALISTS_INCREASED_PERCENTAGE = 0.5		# This percentage of pops in the secession country of the seceded culture will become more loyal after a secession is victorious
	SECESSION_START_RADICALS_REDUCED_PERCENTAGE = 1.0		# The number of radicals of pops of the seceded culture in states that seceded will decrease by this amount when a secession war begins
	SECESSION_LOST_RADICALS_REDUCED_PERCENTAGE = 1.0		# The number of radicals of pops of the seceded culture in states that seceded will decrease by this amount when a secession is crushed
	REVOLUTION_START_RADICALS_REDUCED_PERCENTAGE = 1.0		# The number of radicals of pops will decrease by this amount when a revolution starts (relative to membership in defeated IGs)
	REVOLUTION_LOST_RADICALS_REDUCED_PERCENTAGE = 1.0		# The number of radicals of pops will decrease by this amount when a revolution is crushed (relative to membership in defeated IGs)

	IG_SUPPRESSION_COST = 200						# The amount of AUT it costs to Suppress an IG
	IG_BOLSTER_COST = 200							# The amount of AUT it costs to Bolster an IG
	DEFAULT_GOODS_TAX_COST = 100					# The amount of AUT it costs to tax a good by default

	TURMOIL_STATE_EFFECTS_THRESHOLD = 0.25				# How much turmoil a state needs to have before it gets any state-wide effects
	TURMOIL_STATE_HIGH_EFFECTS_THRESHOLD = 0.50			# Above this turmoil, add a harsher modifier
	TURMOIL_STATE_EXTREME_EFFECTS_THRESHOLD = 0.75		# Above this turmoil, add the harshest modifier
	SECESSION_TURMOIL_CUTOFF = 0.5						# Turmoil requires for cultures to start secession
	SECESSION_WEEKLY_BASE_CHANCE = 0.001				# weekly base chance for culture to start secession movement
	SECESSION_WEEKLY_CHANCE_EXCESS_DIV = 100			# Excess turmoil is divided by this and used to increase chance for secession movements
	MIN_POP_SIZE_TO_SECEDE = 100000						# Num pops (including dependents) needed for a secession movement to start
	SECESSION_STATE_CUTOFF_PERCENT = 0.33				# Required pop percentage in State to be egligble for secession
	SECESSION_TURMOIL_EXCESS_DIV = 1					# Excess turmoil is divided by this and used to increase secession movements
	SECESSION_COOLDOWN_YEARS = 5
	
	MIN_INSTITUTION_INVESTMENT = 1						# Lowest Investment Level for active Institutions (modifier is clamped to this)
	MAX_INSTITUTION_INVESTMENT = 5						# Highest Investment Level for active Institutions (modifier is clamped to this)
	DAILY_INSTITUTION_SIZE_CHANGE = 0.0028				# Percent increase / decrease in Institution Size per day (0.0028 ~ 1/365)
	
	# Code-cached laws relevant to various game mechanics outside of their modifier effects
	LAW_SLAVERY_BANNED = "law_slavery_banned"
	LAW_DEBT_SLAVERY = "law_debt_slavery"
	LAW_SLAVE_TRADE = "law_slave_trade"
	LAW_LEGACY_SLAVERY = "law_legacy_slavery"
	LAW_ISOLATIONISM = "law_isolationism"
	LAW_FREE_TRADE = "law_free_trade"

	INITIAL_MOMENTUM_VARIANCE = 0.5						# How much Momentum should vary at the start of the election period
	ELECTION_INTERVAL_YEARS = 4							# How many years normally pass between elections
	CAMPAIGN_PERIOD_MONTHS = 6							# How long the Campaign Period before the election is

	REFORM_GOVERNMENT_PERIOD = 6 						# How many months after election you can reform government for free
	REFORM_GOVERNMENT_RADICALIZATION_RATE = 0.25 		# How many percent of a IG's supporters that will get radicalized when removed from government.

	RADICALISM_MEDIUM_THRESHOLD = 20
	RADICALISM_HIGH_THRESHOLD = 40
	RADICALISM_VERY_HIGH_THRESHOLD = 60
	RADICALISM_EXTREME_THRESHOLD = 80
	RADICALISM_CRITICAL_THRESHOLD = 100

	SUPPORT_MEDIUM_THRESHOLD = 20
	SUPPORT_HIGH_THRESHOLD = 40
	SUPPORT_VERY_HIGH_THRESHOLD = 60
	SUPPORT_EXTREME_THRESHOLD = 80
	SUPPORT_CRITICAL_THRESHOLD = 100
}

NEconomy = {
	MAX_WEEKLY_CONSTRUCTION_PROGRESS = 20				# Max construction progress per week on a single project

	# The number of times the initializewealth function is run during setup
	# The more times you run this the more accurate setup will be for Pop wealth compared to income	
	NUM_TIMES_TO_INITIALIZE_WEALTH = 10					
	
	COUNTRY_GDP_MODIFIER_DIVISOR = 1000					# Scale the country_gdp static modifier by this divisor
	
	ECONOMY_OF_SCALE_START_LEVEL = 2					# Level at which buildings start getting economy of scale bonuses. Levels lower than this value provide no bonus [>=1]
	
	IN_DEFAULT_MINIMUM_PENALTY_SCALE = 0.1				# This amount of the 'in default' throughput penalty is applied right away
	IN_DEFAULT_DAYS_TO_FULL_PENALTY = 365				# How many days of being in default does it take to get the full throughput penalty
	DECLARE_BANKRUPTCY_PENALTY_DURATION_YEARS = 10		# How many years does it take for penalties from declaring bankruptcy to fully decay
	DECLARE_BANKRUPTCY_RADICALIZATION_SHARES_FACTOR = 0.1 # For each per-pop shares in their building, radicalize this percentage of a pop on declaring bankruptcy
	
	DOWNSIZE_BUILDING_POP_TYPE_RADICALIZATION_SHARED_FACTOR = 0.05 # This percentage of a pop becomes radicalized when a building they would have ownership shares in is downsized in the state (multiplied by per-pop shares)
	FIRED_POP_RADICALIZATION_BASE_FRACTION = 0.2		# This percentage of a pop becomes radicalized when they lose their job, for instance due to a building being downsized
	FIRED_POP_RADICALIZATION_SHARES_FACTOR = 0.1		# Additional percentage of pop that becomes radicalized they lost their job for each per-pop share they had in the building			

	POLLUTION_TARGET_DIVISOR_BASE = 1					# Base value to divide total pollution generation by for calculating state region pollution target level
	POLLUTION_TARGET_DIVISOR_ARABLE_LAND_MULT = 0.1		# Amount per arable land to add to pollution divisor
	POLLUTION_CHANGE_SPEED = 0.5						# Each day, pollution in state region changes by this amount towards target
	POLLUTION_MAX = 255
	POLLUTION_SPREAD_TO_NEIGHBOR = 0.25					# Adjacent state regions always have at least this much of their neighbor's pollution level

	MARKET_UPDATE_COUNT = 5						# How many markets have their buy package caches updated per tick
	
	GOODS_LEADERBOARD_SIZE = 10					# How many spots there are on each goods leaderboard
	MIN_SPOT_PRESTIGE_AWARD = 3					# How many spots on the goods leaderboard get awarded Prestige
	
	MIN_GOODS_PRICE	= 1							# A good cannot have a lower base price than this
	PRICE_RANGE = 0.75							# min price of a good is base * (1 - PRICE_RANGE), Max price is base * (1 + PRICE_RANGE), PRICE_RANGE is locked to [0-1]
	BUY_SELL_DIFF_AT_MAX_FACTOR = 2				# the difference between buy/consumption and sell/production at min/max pricing, e.g. if set to 4 then if buy orders are 4x sell orders price is maxed
	
	GOODS_SHORTAGE_PENALTY_THRESHOLD = 0.5		# If supply / demand is lower than this, start applying output penalties, by default this should be ( 1 / BUY_SELL_DIFF_AT_MAX_FACTOR )
	GOODS_SHORTAGE_PENALTY_INCREASE_SPEED = 0.01  	# Goods shortage penalty increases by this fraction of the target each day
    GOODS_SHORTAGE_PENALTY_DECREASE_SPEED = 0.01  	# Goods shortage penalty goes down by this fraction of GOODS_SHORTAGE_PENALTY_MAX each day
    GOODS_SHORTAGE_PENALTY_MIN = 0.05			# Goods shortage penalty can't be lower than this if there is any shortage
	GOODS_SHORTAGE_PENALTY_MAX = 0.5			# Goods shortage penalty can't be higher than this
	
	# If the delta between a historical trade route's level and its predicted level after gamestate init is at least this, print an error 
	# We only care if the trade route is bigger than it can support - it's fine for historical routes to grow after game start!
	TRADE_ROUTE_HISTORICAL_LEVEL_DIFF_WARNING = 2		
	
	TRADE_ROUTE_BUREAUCRACY_COST = 20					# The cost in BUR per trade route
	TRADE_ROUTE_START_LEVEL = 1							# All new trade routes start at this level
	TRADE_ROUTE_MAX_LEVEL = 100							# Trade routes cannot be higher level than this
	TRADE_ROUTE_MIN_TOTAL_IMPORTS = 10					# This amount of a good can always be imported to a market even if there is no demand
	TRADE_ROUTE_DEFAULT_GOODS_QUANTITY = 10				# Base quantity traded from trade routes, if not otherwise specified in goods type
	TRADE_ROUTE_ECONOMY_OF_SCALE = 0.25					# Each level of trade route after the first adds this % to desired trade quantity
	TRADE_ROUTE_ECONOMY_OF_SCALE_MAX_LEVEL = 20			# After this level, trade route economy of scale no longer increases the amount per level
	TRADE_ROUTE_REQUIRED_CONVOY_BUFFER = 0.05			# Trade routes may not increase level if you wouldn't end up with at least this 'buffer' of produced convoys
	
	TRADE_ROUTE_AUTO_INCREASE_EMPLOYMENT_THRESHOLD = 0.9 	# If trade route has this much of its max staffing level employed, it can automatically increase its level
	TRADE_ROUTE_AUTO_INCREASE_ACCEPTABLE_REVENUE_DIFFERENCE = 1.1 # Multiply revenue of new trade route level by this for the purpose of considering whether it's OK to auto-increase level (means that trade routes can level up even when slightly decreasing overall revenue)
	TRADE_ROUTE_AUTO_INCREASE_LOW_PRODUCTIVITY_THRESHOLD = 8 # If trade route's productivity would drop below this, don't automatically increase its level
	TRADE_ROUTE_AUTO_REDUCTION_EMPLOYMENT_THRESHOLD = 0.75 	# If trade route has less than this of its max staffing level employed and could not hire anyone last week, it can automatically decrease its level
	TRADE_ROUTE_AUTO_REDUCTION_ACCEPTABLE_REVENUE_DIFFERENCE = 1.15 # Multiply revenue of current trade route level by this for the purpose of considering whether we should auto-decrease level (means that trade routes won't level down just for the purpose of a small revenue increase)
	
	TRADE_CENTER_MIN_AVAILABLE_WORKFORCE = 20000 # Don't put new trade centers in places with less available workforce than this
	TRADE_CENTER_TRADE_ROUTE_STATE_FACTOR = 4	# When deciding trade center for a trade route, increase score by this if the state is the exit/entry port for the trade route
	TRADE_CENTER_TRADE_ROUTE_STATE_NEIGHBOR_FACTOR = 2	# When deciding trade center for a trade route, increase score by this if the state neighboring the exit/entry port for the trade route
	TRADE_CENTER_TREATY_PORT_FACTOR = 15 	# When deciding trade center for a trade route, increase score by this for treaty port in the remote market
	TRADE_CENTER_MARKET_CAPITAL_FACTOR = 5 	# When deciding trade center for a trade route, increase score by this for the market capital in the market
	TRADE_CENTER_PORT_LEVEL_FACTOR = 1 	# When deciding trade center for a trade route, multiply port level by this and add to the score
	TRADE_CENTER_EXISTING_TRADE_ROUTES_FACTOR = -1  # When deciding trade center for a trade route, multiply the number of trade routes already associated with the state by this score
	
	COMPETITIVENESS_PER_TRADE_ROUTE = 100		# Base competitiveness for a trade route
	COMPETITIVENESS_DOMESTIC_TRADE_MULT = 0.5	# Competiveness is multiplied by this if trading country and market controller are the same country
	COMPETITIVENESS_TRADE_AGREEMENT_MULT = 0.5	# Competiveness is multiplied by this if trading country and market controller have a trade agreement
	
	MARKET_SHARE_FROM_GDP = 1.0					# Get this many points of market share per pound of GDP in states
	MARKET_SHARE_MARKET_CONTROLLER_FACTOR = 1.33	# Market controller's market points count for this much more
	MARKET_SHARE_MARKET_ACCESS_BASE = 0.5		# How much of market points is always gained regardless of market access
	MARKET_SHARE_MARKET_ACCESS_SCALED = 0.5		# How much of market points is gained based on market access

	COUNTRY_MIN_CREDIT_BASE = 100000			# Added to the total Building Cash Reserves to determine credit limit (base)
	COUNTRY_MIN_CREDIT_SCALED = 0.05 			# Added to the total Building Cash Reserves to determine credit limit (multiplied by GDP)
	GOLD_RESERVE_RATIO_AT_START = 0.5			# Unless a country history's 'treasury' parameter is set to a non-zero value, countries start with this ratio of their gold reserve in gold
	BUILDING_INITIAL_WAGE_WEEKS = 2				# A building will not adjust its wages for the first this many weeks of its existence
	MAX_WAGE_STEP_CHANGE = 0.1					# Wage rates can change at most this much each week
	SUBSIDIES_MIN_GAIN = 0						# If a building is subsidized, it will always collect enough subsidies to ensure at least this weekly cash reserve growth
	HIRING_RATE = 0.1 							# Weekly hiring limit applied in a building per profession as a ratio of full employment
	EMPLOYMENT_PROPORTIONALITY_LIMIT = 0.1		# A building cannot have a difference of ratio of full employment between any two professions greater than this limit
	BUILDING_INIT_PROFIT_TARGET_MIN = 0.10 		# Minimum % income a building wants to have as profit during initialization (will decrease wages towards this)
	BUILDING_INIT_PROFIT_TARGET_MAX = 0.20 		# Maximum % income a building wants to have as profit during initialization (will increase wages towards this)
	BUILDING_PROFIT_TARGET_TO_RAISE_WAGES = 0.2	# Required profit margin raise wages no matter what, with BUILDING_WEEKS_BETWEEN_PAY_RAISES weeks cooldown
	BUILDING_WEEKS_BETWEEN_PAY_RAISES = 26		# Cooldown between pay raises no matter what
	MIN_RAISE_TO_HIRE = 0.10					# The minimum required increase in wages for an employee to switch jobs (1.0 = +100% = x2)
	BASE_RESOURCE_DISCOVER_CHANCE = 0.02 		# Per day (1.0 = 1%)
	EMPLOYMENT_RESOURCE_DEPLETE_CHANCE = 0.005	# Multiplied by number of fully employed levels of the building
	RESOURCE_DISCOVER_MIN_FRACTION = 0.2		# Min fraction of resources that will be discovered for each successful roll
	RESOURCE_DISCOVER_MAX_FRACTION = 0.5		# Max fraction of resources that will be discovered for each successful roll	
	FULLY_DISCOVERED_RESOURCE_DEPLETE_CHANCE_MULT = 1.0 # The chance of a resource depleting is multiplied by this when all of the resource has been discovered
	RESOURCE_DEPLETE_MIN_AMOUNT = 2				# Min amount of resources that will be depleted for each successful roll
	RESOURCE_DEPLETE_MAX_AMOUNT = 5				# Max amount of resources that will be depleted for each successful roll	
	QUALITY_OF_LIFE_MIN = 1
	QUALITY_OF_LIFE_MAX = 100
	SUBSISTENCE_OUTPUT_AVERAGE_WAGE_RATE_FACTOR = 150   # Each 1.0 of subsistence output counts as this much wage rate when setting normal wages
	PEASANT_STARTING_WAGE_RATE_FACTOR = 1.0		# For the sake of calculating starting normal wages, treat peasants as having this pop type wage multiplier
	STARTING_WAGE_RATE_MULTIPLIER = 2.0			# Starting wage rate is multiplied by this (for easy balancing)
	NORMAL_WAGE_RATE_FALLBACK = 500.0			# If it's impossible to compute a normal wage rate (e.g. if every incorporated pop works in government buildings) set it to this (weekly £ per POP_SIZE_PACKAGE employees)
	MINIMUM_WAGE_RATE = 10.0					# The wage rate can never drop below this, no matter what (weekly £ per POP_SIZE_PACKAGE employees)
	MAXIMUM_WAGE_RATE = 100000.0				# The absolute maximum that a building's wage rate can be increased to.
	CREDIT_RATIO_HEALTH_THRESHOLD = 0.5			# If the principal is smaller than this ratio of the total credit, the economy is considered to be healthy
	GOLD_RESERVE_MIN = 1000						# If Gold Reserves are computed to be lower than this, it's instead set to this
	GOLD_RESERVE_LIMIT_FACTOR = 0.2				# The base factor of annual GDP that should be provided as a Gold Reserve
	GOLD_RESERVE_RETURNS_FACTOR = 1				# How rapidly diminishing returns will cause gold reserves to drop off after the limit has been reached (higher value increases penalty)
	RETOOLING_WEEKS = 0							# How long it takes for a building to get back up to full production after switching a production method
	BUILDING_TIMED_MODIFIER_WEEKS = 52 			# Duration of a timed modifier which is applied after switching a production method
	
	URBANIZATION_PER_BUILDING = 100
	
	PRICE_REPORT_MAX_ENTRIES = 4
	
	NUM_COIN_ICONS = 13
	COIN_ICON_EARNINGS_COMPARISON_STEP = 0.15
	COIN_ICON_WAGE_COMPARISON_STEP = 0.05
	COIN_ICON_PRICE_COMPARISON_STEP = 0.12
	
	EXPENSIVE_GOODS_THRESHOLD = 1.24			# Used for some triggers and gui functions
	CHEAP_GOODS_THRESHOLD = 0.76				# Used for some triggers and gui functions

	NUM_PROFITABILITY_ICONS = 13
	PROFITABILITY_ICON_COMPARISON_STEP = 0.15

	EARNINGS_RATIO_HIGH_THRESHOLD = 1.5			# Buildings whose productivity exceeds this factor of the average will be considered high-productivity buildings
	EARNINGS_RATIO_LOW_THRESHOLD = 0.66			# Buildings whose productivity is below this factor of the average will be considered low-productivity buildings
	EARNINGS_ABSOLUTE_HIGH_THRESHOLD = 50		# Buildings whose productivity exceeds this amount will ALWAYS be considered high-productivity buildings
	EARNINGS_ABSOLUTE_LOW_THRESHOLD = 2			# Buildings whose productivity is below this amount will ALWAYS be considered low-productivity buildings
	
	SLAVE_BASKET_DEFAULT = 8					# Default level of consumer goods that a building will buy for its slaves
	SLAVE_BASKET_MIN = 1						# Min level of consumer goods that a building will buy for its slaves (the highest of this and SLAVE_BASKET_SCALED_MIN is used)
	SLAVE_BASKET_MAX = 12						# Max level of consumer goods that a building will buy for its slaves (the lowest of this and SLAVE_BASKET_SCALED_MAX is used)
	SLAVE_BASKET_SCALED_MIN = 0.5				# Multiplied by lowest non-slave wealth in the building 
	SLAVE_BASKET_SCALED_MAX = 1					# Multiplied by lowest non-slave wealth in the building

	DEBT_SLAVERY_ENSLAVEMENT_RATE = 0.05		# Under debt slavery up to this much of a state's populace can be enslaved for their debts
	DEBT_SLAVERY_ENSLAVEMENT_RATE_DROP_OFF_PER_WEALTH = 0.2 # Under debt slavery every point of wealth protects this much of a pop's size from enslavement

	SLAVE_TRADE_MIN_VACANCIES_NEEDED_TO_IMPORT = 500 # There needs to be at least this many (non-subsistence) vacancies in buildings that can be filled by slaves in order for slave import to happen
	SLAVE_TRADE_MIN_POPULATION_TO_EXPORT = 100000	 # There needs to be at least this many people in the state in order for it to be selected, or remain valid, as a slave import target
	SLAVE_TRADE_POPULATION_FRACTION_WEIGHT = 100	 # Weight of slave population ratio in slave import marker selection
	SLAVE_TRADE_POPULATION_TOTAL_WEIGHT = 0.0002	 # Weight of total population in slave import marker selection
	SLAVE_TRADE_TURMOIL_WEIGHT = 25				# Weight of slave turmoil in slave import marker selection
	SLAVE_TRADE_DISTANCE_WEIGHT = 1				# Inverse weight (penalty) for distance in slave import marker selection
	SLAVE_TRADE_OTHER_STATES_WEIGHT = 2			# Inverse weight (penalty) for having other slave import markers
	SLAVE_TRADE_EXISTING_STATE_CULTURE_WEIGHT_MULT = 10 # Total score of state is multiplied by this if importing from states whose homeland cultures are already present in this state
	SLAVE_TRADE_NUMBER_EVALUATED_STATES = 10	# Slave import marker is selected randomly from this many potential targets with highest weight
	SLAVE_TRADE_SLAVES_PER_WEEK = 100			# Base number of slaves that will be traded per marker per week
	SLAVE_TRADE_MIN_MARKET_ACCESS = 0.1			# Minimum market access multiplier for slave trade, i.e. even at a marker with 0 market access, this fraction of the base number will be traded
	
	BUILDING_LAYOFFS_MIN_WEEKS_BETWEEN = 4		# Minimum number of weeks between layoffs
	BUILDING_LAYOFFS_DECREASE_BY = 0.15			# The ratio that layoffs will reduce employment by (e.g. 0.15 means if you're currently 57% employed, reduce that to 48.45%)

	BUILDING_CASH_RESERVES_HIGH_ROI = 0.25			# A ROI (return on investment) at or above this value is considered "high". In this context ROI means how much more money a building makes compared to how much it spends. Must be >= BUILDING_CASH_RESERVES_MED_ROI.
	BUILDING_CASH_RESERVES_MED_ROI = 0.15			# A ROI (return on investment) at exactly this value is considered "medium". In this context ROI means how much more money a building makes compared to how much it spends. Must be >= BUILDING_CASH_RESERVES_LOW_ROI.
	BUILDING_CASH_RESERVES_LOW_ROI = 0.05			# A ROI (return on investment) at or below this value is considered "low". In this context ROI means how much more money a building makes compared to how much it spends. Must be > 0.

	BUILDING_CASH_RESERVES_FILL_TIME_HIGH_ROI = 26	# Base number of weeks to fill a building's cash reserves when ROI is high. Final number of weeks is directly interpolated if ROI is between medium and high. Must be > 0.
	BUILDING_CASH_RESERVES_FILL_TIME_MED_ROI = 52	# Base number of weeks to fill a building's cash reserves when ROI is medium. Must be > 0.
	BUILDING_CASH_RESERVES_FILL_TIME_LOW_ROI = 78	# Base number of weeks to fill a building's cash reserves when ROI is low. Final number of weeks is directly interpolated if ROI is between low and medium. Must be > 0.
	
	BUILDING_CASH_RESERVES_MIN_DEPOSIT_PERCENT = 0.25	# The minimum percentage of weekly profits that building owners will try to deposit into a building's cash reserves. Must be >= 0.
	BUILDING_CASH_RESERVES_MAX_DEPOSIT_PERCENT = 0.75	# The maximum percentace of weekly profits that building owners will try to deposit into a building's cash reserves. Must be >= BUILDING_CASH_RESERVES_MIN_DEPOSIT_PERCENT

	BUILDING_CASH_RESERVES_ALGO = 1					# Temporary. Algorithm to use when deciding how owners split profits between cash reserves and dividends. 1 = complex algo, 2 = simple one
	
	BUILDING_CASH_RESERVES_STATUS_QUO_THRESHOLD = 0.5	# If cash reserves are above this fraction of max, buildings won't try to reduce expenses even if they are losing money
	
	SHIPPING_LANE_CONVOY_COST_SCALING = 0.1			# The cost for a shipping lane for each node beyond the first. So at 0.1 it goes 1.0, 1.1, 1.2 and so on.
	GOODS_DEFAULT_CONVOY_COST_MULTIPLIER = 1			# The convoy cost of shipping a single unit of goods (can be overriden in defines)
	OVERSEAS_INFRASTRUCTURE_CONVOY_COST_MULTIPLIER = 2	# Convoy cost for each infrastructure usage in overseas state for port connection shipping lanes

	CUSTOMS_UNION_CONTROLLER_MINIMUM_TARIFFS_SPLIT = 0.25	# Minimum amount of tariffs that the senior partner of a customs union gets. The rest will be split among the junior partners, according to their GDP contribution (between 0 and 1)
} 

NMilitary = {
	INITIAL_MANPOWER_COST_MULTIPLIER = 10 			# there is an extra cost for training new recruits, compared to maintenence of said recruits
	MANPOWER_DIVISOR = 10000 						# the strategic goods needed by soldiers are counted in sets of
	MANPOWER_LOST_DUE_TO_ATTRITION_PER_WEEK_MIN = 0.05 	# The minimum percentage of manpower a unit can lose each week due to attrition
	MANPOWER_LOST_DUE_TO_ATTRITION_PER_WEEK_MAX = 0.15 	# The maximum percentage of manpower a unit can lose each week due to attrition
	PLANNING_COUNTER_DAILY_INCREMENT = 0.01 		# Planning counter will be incremented with this value on every partial daily tick 
	PLANNING_COUNTER_DIV_ON_BATTLE_END = 2.0 		# Planning counter will be divided with this value when a battle ends
	MIN_VARIABLE_DISTRIBUTION_PER_POP = 0
	MAX_VARIABLE_DISTRIBUTION_PER_POP = 100
	CMDR_CAUTION_FACTOR = 1.75						# The "strength factor" compared to expected average resistance the Commander wants in a Battle Plan before attacking
	CONCENTRATION_GAIN_PER_TICK = 0.01
	BATTLE_PLAN_COOLDOWN_TICKS_PER_DAY = 4
	BATTLE_PLAN_COOLDOWN_BASE = 6					# In ticks (4 ticks = 1 day)		
	BATTLE_PLAN_COOLDOWN_MIN = 2					# In ticks (4 ticks = 1 day)	
	BATTLE_PLAN_COOLDOWN_MAX = 20					# In ticks (4 ticks = 1 day)	
	BATTLE_LETHALITY_MIN = 0.001
	BATTLE_LETHALITY_MAX = 0.005
	BATTLE_PICKING_BASE_RANDOM = 0.5				# Base weight is 0 to this to ensure some randomness between provinces with similar weight
	BATTLE_PICKING_STRENGTH_WEIGHT = 1.0			# Weight for picking province to attack, this is how important it is to attack under-defended provinces
	BATTLE_PICKING_WIDTH_WEIGHT = 1.0				# this is for attacking provinces with a wide combat width
	BATTLE_PICKING_NEIGHBOR_WEIGHT = 1.3			# this is for attacking provinces where we control many neighbors
	BATTLE_PICKING_UNCONTROLLED_STATE = 2.0			# Add weight to ensure full control of contested States before advancing into new ones
	BATTLE_PICKING_INVASION_TARGET = 2.0			# for target state of invasion
	BATTLE_PICKING_INVASION_TARGET_CLOSENESS = 0.8	# added weight for being closer to the invasion target. Scaled by how close province is relative to other in the front
	MAX_CE_ADVANTAGE = 1
	MIN_CE = 0.01									# to make sure countries have atleast 0.01 CE
	MORALE_GAIN_ON_WIN_MULT = 0.01
	WAR_SUPPORT_ON_BATTLE_WIN = 0.01
	MORALE_CHANGE = 0.1								# Maximum percentage of morale change
	SUPPLY_CHANGE_RATE = 0.5						# How much we try to move towards the current supply per week
	SUPPLY_MIN_CHANGE = 0.05						# Minimum amount of supply change per week 
	MIN_MANPOWER_CASUALTY_PER_ROUND = 5					# Minimum manpower losses per round
	SUPPLY_PENALTY_PER_SEA_ZONE = -0.05				# Supply rating penalty for each Sea Zone jump from the closest port
	SUPPLY_SEA_COASTAL = 0.1
	SUPPLY_SEA_OCEAN = 0.05
    GENERAL_TRAVEL_PIXELS_TO_DAYS_SCALE = 0.045     # Used to convert a travel distance from pixels to days. Example: a travel of 500px becomes 500 * 0.05 = 25 days
    GENERAL_TRAVEL_CAP = 50                         # Limits the travel time to GENERAL_TRAVEL_CAP days. The overseas penalty (GENERAL_TRAVEL_OVERSEAS_SCALE) is still applied.
    GENERAL_TRAVEL_OVERSEAS_SCALE = 1.25            # Used if a general is traveling overseas. So the total duration of the travel becomes Duration * GENERAL_TRAVEL_OVERSEAS_SCALE
    GENERAL_TRAVEL_AUTO_REASSIGN_INSTANTLY = 15		# If General is being auto reassigned (front destruction for example) and travel time is below this number of days make them travel instantly
    GENERAL_INVALID_TRAVEL_DAYS = 0                 # If our system fails to compute travel time due to invalid front/HQ position, then use this value as travel time instead. This prevents such cases from causing >300 days travels. This ignores GENERAL_TRAVEL_AUTO_REASSIGN_INSTANTLY.
	COMBAT_UNITS_PER_LEVEL = 1						# Number of combat units each level of military building can support. Must be the same for all recruitable buildings (barracks/conscription centers/naval bases)
	BASE_MORALE_RECOVERED_PER_DAY = 0.03			# Default morale recovered is 3% per day
	BASE_MORALE_LOST_PER_DAY = 0.05					# Default morale lost when out of supply is 5%

	# How manpower packages are selected in battle plans with several countries
	BATTLE_PLAN_MULTI_ARMY_MORALE_WEIGHT = 1.5		# scale weight by how demoralized a country army is overall. Zero means its ignored.
	BATTLE_PLAN_MULTI_ARMY_PER_COMMITTED = 0.2		# flat weight added per manpower package already committed to battle plan for country

	# How manpower packages are selected in attacking battle plans with any number of countries. As the name suggest they are only applied to the attacker
	BATTLE_PLAN_ATTACK_NO_SUPPLY_WEIGHT = 2.0		# the weight of a manpower package at 0% supply (applied last) (linearly interpolated with BATTLE_PLAN_ATTACK_FULL_SUPPLY_WEIGHT)
	BATTLE_PLAN_ATTACK_FULL_SUPPLY_WEIGHT = 1.0		# the weight of a manpower package at 100% supply (applied last) (linearly interpolated with BATTLE_PLAN_ATTACK_NO_SUPPLY_WEIGHT)

	BATTLE_PLAN_ADVANCE_PROGRESS_TO_LAUNCH = 100 			# required accumulated advance progress to launch
	BATTLE_PLAN_SWITCH_ORDER_LOST_PROGRESS_PERCENT = 0.5	# 50% accumulated advance progress lost when switching from an attacking order
	
	BATTLE_BATTALIONS_MIN_BASELINE = 10					# minimum num combat units in Battle
	BATTLE_BATTALIONS_MAX_PERCENTAGE = 1.0				# max num combat units as percentage of commanders units. Default 100%
	BATTLE_BATTALIONS_MAX_BASELINE_GARRISON = 10		# max num combat units in Battle unassigned units in a HQ can give
	BATTLE_REINFORCEMENT_CHANCE_POW = 2.0				# Random chance POW'd to this value to get final reinforcement percentage over baseline
	BATTLE_REINFORCEMENT_COMMANDERLESS_FACTOR = 0.5		# Troops without a commander take this penalty to the number of reinforcements they can bring
	BATTLE_BASE_MIN_PROVINCES_TAKEN = 10
	BATTLE_BASE_MAX_PROVINCES_TAKEN = 30
	BATTLE_PROVINCES_TAKEN_FRONT_PROVINCES_NUM_DIVISOR = 5		# Attacker takes (num provinces in front) divided by this as extra, clamped to BATTLE_BASE_MIN_PROVINCES_TAKEN and BATTLE_BASE_MAX_PROVINCES_TAKEN
	BATTLE_PROVINCES_TAKEN_MAX_UNIT_RATIO_SCALE = 0.03			# Attacker gains 1 + ( this * attacking units left standing at end of battle ) taken province multiplier
	BATTLE_PROVINCES_TAKEN_MAX_DEPTH = 3						# Maximum distance from battle provinces that provinces can be taken
	DEFENSIVE_PROVINCES_RETAKEN_MAX_DEPTH = 1					# Maximum distance from battle provinces that provinces can be retaken in defensive battle
	BATTLE_PROVINCES_TAKEN_THEATER_UNIT_SCALE = 2			# Scales number of provinces captured by theater-provinces / ( units-in-theater * this-define )
	BATTLE_PROVINCES_TAKEN_THEATER_MIN_SCALE = 0.5			# Number of provinces captured cannot be multiplied by less than this due to the above
	BATTLE_PROVINCES_TAKEN_MAX_EXTRA = 0                  # If the selected provinces will cause split, capture the new theater as long as it has up to BATTLE_PROVINCES_TAKEN_MAX_EXTRA provinces. This might not respect the distance limit (BATTLE_PROVINCES_TAKEN_MAX_DEPTH).
	
	CONVOY_RAIDING_NUM_POSSIBLE_ATTACK_NODES = 5			# How many sea zones will be shown as possible attack sites for convoy raided player
	CONVOY_RAIDING_DELAY_BASE_DAYS = 5						# atleast this many days between each admiral raiding attempt
	CONVOY_RAIDING_DELAY_MAX_RANDOM_DAYS_FACTOR = 10		# up to this many extra days between each admiral raiding attempt
	CONVOY_RAIDING_CONVOY_ATTACK_CHANCE = 0.2				# Chance each attempt that convoy raiders find convoys to attack from each country along the shipping lane (1 = 100%)
	CONVOY_RAIDING_STRENGTH_MULT = 0.1						# How strong each Convoy raiding point is ( num warships * ce offense )
	CONVOY_RAIDING_DAYS_UNTIL_DECAY = 28					# How many days it takes for convoy raiding effect to decay fully 

	MIN_OFFENSE_DEFENSE = 1									# The absolute lowest Offense or Defense a unit can have

	INTERCEPTION_DELAY_BASE_DAYS = 5						# atleast this many days between each admiral interception attempt
	INTERCEPTION_DELAY_MAX_RANDOM_DAYS_FACTOR = 10			# up to this many extra days between each admiral interception attempt
	INTERCEPTION_BASE_CHANCE = 0.1							# base chance when trying to intercept enemy admirals
	INTERCEPTION_NAVAL_INVASION_CHANCE = 1.0				# chance for intercepting enemy admiral during naval invasion

	ADMIRAL_BATTLE_LOSS_REPAIR_TIME_DAYS = 28				# number of days after loosing a naval battle that an admiral cannot perform any new Orders

	NORMAL_ATTRITION = 0.25 					# Attrition Risk is considered high if greater or equal than this

	MOBILIZATION_INFRASTRUCTURE_FACTOR = 0.01	# amount of mobilization generated per point of infrastructure. one battalion takes one full point of mobilization to mobilize
	MIN_MOBILIZATION_PER_DAY = 0.05				# minimum mobilization gained per day by each mobilizing battalion (the last unit to gain mobilization in a state might have to do with whatever is left)
	MAX_MOBILIZATION_PER_DAY = 0.20				# maximum mobilization gained per day by each mobilizing battalion

	BASE_BATTALION_CONVOY_COST = 10				# Cost in convoys per Battalion for shipping lanes
}

NDiplomacy = {
	DEFAULT_TRUCE_MONTHS = 60
	PEACE_DEAL_DURATION_IN_DAYS = 30
	PEACE_DEAL_COOLDOWN_IN_DAYS = 120
	DEFAULT_FORCED_PACT_MONTHS = 12
	OBLIGATION_FORCED_PACT_MONTHS = 120
	EXPEL_DIPLOMATS_MONTHS = 60
	OBLIGATION_MONTHS = 120

	DIPLOMATIC_ACTION_COOLDOWN_DAYS = 0				# Number of days you must wait between diplomatic actions/proposals
	DIPLOMATIC_ACTION_PENDING_APPROVAL_DAYS = 14	# Number of days before a pending action is auto-declined
	
	DIPLOMATIC_PACT_COST_DEFAULT = 0					# The default maintenance in Diplomatic Capital for a pact
	DIPLOMATIC_PACT_COST_MULT_FROM_INFAMOUS = 0.25		# Maintenance cost of a pact is increased by this when at Infamous level of infamy
	DIPLOMATIC_PACT_COST_MULT_FROM_NOTORIOUS = 0.50		# Maintenance cost of a pact is increased by this when at Notorious level of infamy
	DIPLOMATIC_PACT_COST_MULT_FROM_PARIAH = 1.00		# Maintenance cost of a pact is increased by this when at Pariah level of infamy
				
	RIVALRY_BASE_SCALING = 1.0						
	RIVALRY_SCALING_PER_INTEREST = 0.5	
	RIVALRY_MAX_SCALING = 2	
	RIVALRY_LOWER_RANK_SCALING_MULT = 0.5

	MIN_RELATIONS = -100
	MAX_RELATIONS = 100
	START_RELATIONS = 0
	RELATIONS_THRESHOLD_FRIENDLY = 80
	RELATIONS_THRESHOLD_AMICABLE = 50
	RELATIONS_THRESHOLD_CORDIAL = 20
	RELATIONS_THRESHOLD_POOR = -20
	RELATIONS_THRESHOLD_COLD = -50
	RELATIONS_THRESHOLD_HOSTILE = -80
	REQUIRED_IMPROVE_RELATIONS_PROGRESS = 100		# How much change relations progress is needed to increase relations by 1 point
	REQUIRED_DAMAGE_RELATIONS_PROGRESS = -100		# How much change relations progress is needed to decrease relations by 1 point
	
	MIN_INFAMY = 0							# Infamy can't be lower than this
	MAX_INFAMY = 1000						# Infamy can't be higher than this
	START_INFAMY = 0						# This is the default amount of infamy countries start with
	INFAMY_THRESHOLD_INFAMOUS = 25			# Above this, countries are considered infamous and get related penalties
	INFAMY_THRESHOLD_NOTORIOUS = 50			# Above this, countries are considered notorious and get related penalties
	INFAMY_THRESHOLD_PARIAH = 100			# Above this, countries are considered pariah and get related penalties
	BASE_YEARLY_INFAMY_DECAY_RATE = 5.0 	# Decay rate of infamy per year
	
	# Tension is used instead of relations by colonizable countries
	MIN_TENSION = 0 
	MAX_TENSION = 100
	START_TENSION = 0
	TENSION_THRESHOLD_UNEASY = 25
	TENSION_THRESHOLD_TENSE = 50
	TENSION_THRESHOLD_VOLATILE = 75
	TENSION_DECAY_RATE = 5 # Per year
	TENSION_INCREASE_MIN = 2.5 # Tension increases by a min of this when a province is colonized
	TENSION_INCREASE_MAX = 20.00 # Tension increases by a max of this when a province is colonized
	TENSION_NUM_PROVINCE_SCALING_BASE = 10 # Below this amount of provinces a decentralized country gets additional tension when their provinces are colonized
	TENSION_NUM_PROVINCE_SCALING_RATE = 2.0 # Max multiplier increase in tension per province taken from having only a few provinces
	TENSION_INCREASE_RATE_ADJACENT = 0.5 # Multiplied to tension increase when it is neighboring countries' provinces that are colonized
	TENSION_UPRISING_CHANCE = 0.05 # Chance of war breaking out instead of the next province being colonized (base when tension is at least TENSION_THRESHOLD_VOLATILE)
	
	SWAY_OFFER_TIMEOUT_DAYS = 14
	SWAY_OFFER_OBLIGATION_MANEUVERS_COST = 20
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_WAR_REPARATIONS = 10
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_HUMILIATION = 20
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_UNIFICATION_LEADERSHIP = 30
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_OPEN_MARKET = 20
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_REGIME_CHANGE = 5
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_BAN_SLAVERY = 20
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_ANNEX_COUNTRY = 10
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_LIBERATE_COUNTRY = 30
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_MAKE_PUPPET = 8	
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_MAKE_DOMINION = 8
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_MAKE_VASSAL = 8
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_CONQUER_STATE = 10
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_RETURN_STATE = 10
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_TAKE_TREATY_PORT = 10
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_REVOKE_CLAIM = 5
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_REVOKE_ALL_CLAIMS = 0 # Can't be added, only for special plays
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_CONTAIN_THREAT = 30	
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_TRANSFER_SUBJECT = 8
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_LIBERATE_SUBJECT = 20
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_FORCE_RECOGNITION = 30
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_UNIFICATION = 100
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_INDEPENDENCE = 30
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_SECESSION = 100
    SWAY_OFFER_WARGOAL_MANEUVERS_COST_POPULATION_SCALING_FACTOR = 10000 # The amount of population by which the factor below is multiplied
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_POPULATION_SCALING_MULTIPLIER = 0.03 # For each SWAY_OFFER_WARGOAL_MANEUVERS_COST_POPULATION_SCALING_FACTOR population in a country/state, multiply maneuvers cost by this
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_POPULATION_SCALING_MULTIPLIER_MAX_PER_STATE = 2.5 # Maneuvers population multiplier can't be higher than this for each state affected
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_POPULATION_SCALING_MULTIPLIER_MAX_TOTAL = 5 # Maneuvers population multiplier can't be higher than this, regardless of number of states affected
	SWAY_OFFER_WARGOAL_MANEUVERS_COST_HOMELAND_FACTOR = -0.25 # Maneuvers cost is adjusted by this if the states taken/puppeted etc are Homelands of the aggressor
	
	
	DEFENSIVE_PACT_ACTION_NAME = "defensive_pact"
	ALLIANCE_PACT_ACTION_NAME = "alliance"

	WAR_GOAL_REPARATIONS_PACT_TYPE = "war_reparations"
	WAR_GOAL_REPARATIONS_DURATION = 60 # In months
	WAR_GOAL_OPEN_MARKET_DURATION = 60 # In months
	WAR_GOAL_BAN_SLAVERY_DURATION = 60 # In months
	WAR_GOAL_HUMILIATION_PACT_TYPE = "humiliation"
	WAR_GOAL_HUMILIATION_DURATION = 60 # In months
	WAR_GOAL_MAKE_PUPPET_SUBJECT_TYPE = "subject_type_puppet"
	WAR_GOAL_MAKE_DOMINION_SUBJECT_TYPE = "subject_type_dominion"
	WAR_GOAL_MAKE_VASSAL_SUBJECT_TYPE = "subject_type_vassal"	
	WAR_GOAL_FORCE_RECOGNITION_FROM_TYPE = "unrecognized"
	WAR_GOAL_FORCE_RECOGNITION_TO_TYPE = "colonial"
	WAR_GOAL_FORCE_RECOGNITION_TARGET_RANK = "great_power"
	WAR_GOAL_FORCE_RECOGNITION_ACTOR_RANK = "unrecognized_major_power"
	WAR_GOAL_TREATY_PORT_BUILDING_LEVEL = 1
	WAR_GOAL_LIBERATE_COUNTRY_LIBERATOR_START_RELATIONS = 50
	WAR_GOAL_LIBERATE_COUNTRY_OPPRESSOR_START_RELATIONS = -50
	WAR_GOAL_CONTAIN_THREAT_YEARS_SINCE_CONQUEST = 10
	WAR_GOAL_REGIME_CHANGE_DURATION = 60 # Government in country with forced regime change is locked in for this number of months
	WAR_GOAL_REGIME_CHANGE_MAX_IDEOLOGICAL_OPINION = -5 # If ideological opinion is above this, regime change can't be used
	
	WAR_GOAL_INFAMY_POPULATION_SCALING_FACTOR = 10000 # The amount of population by which the factor below is multiplied
	WAR_GOAL_INFAMY_POPULATION_SCALING_MULTIPLIER = 0.03 # For each WAR_GOAL_INFAMY_POPULATION_SCALING_FACTOR population in a country/state, multiply infamy by this
	WAR_GOAL_INFAMY_POPULATION_SCALING_MULTIPLIER_MAX_PER_STATE = 5 # Infamy population multiplier can't be higher than this for each state affected
	WAR_GOAL_INFAMY_POPULATION_SCALING_MULTIPLIER_MAX_TOTAL = 50 # Infamy population multiplier can't be higher than this, regardless of number of states affected
	WAR_GOAL_INFAMY_HOMELAND_FACTOR = -0.25 # Infamy is adjusted by this if the states taken/puppeted etc are Homelands of the aggressor
	WAR_GOAL_INFAMY_OWN_SUBJECT_MULT = 0.1 # Infamy is multiplied by this for wargoals targeting your own subject
	WAR_GOAL_INFAMY_RELATIONS_TARGET_IMPACT = -1 # Each point of infamy generated by an incident also has this impact on relations with the target
	WAR_GOAL_INFAMY_RELATIONS_INTEREST_IMPACT = -0.5 # Each point of infamy generated by an incident also has this impact on relations with countries that have an interest in the target 
	
	WAR_GOAL_INFAMY_CONQUER_STATE = 5.0
	WAR_GOAL_INFAMY_RETURN_STATE = 2.0
	WAR_GOAL_INFAMY_TAKE_TREATY_PORT = 2.0
	WAR_GOAL_INFAMY_MAKE_PUPPET = 3.0
	WAR_GOAL_INFAMY_MAKE_VASSAL = 3.0
	WAR_GOAL_INFAMY_MAKE_DOMINION = 3.0
	WAR_GOAL_INFAMY_TRANSFER_SUBJECT = 2.0	
	WAR_GOAL_INFAMY_ANNEX_COUNTRY = 5.0
	WAR_GOAL_INFAMY_UNIFICATION = 2.0
	WAR_GOAL_INFAMY_REGIME_CHANGE = 0.5
	
	WAR_GOAL_INFAMY_DIPLO_PLAY_BACK_DOWN_REFUND = -0.75 # Refund of infamy for war goals that are dropped due to one side backing down in a diplo play (applied to initiator/target)
	WAR_GOAL_INFAMY_DIPLO_PLAY_BACKER_REFUND = -1.00 	# Refund of infamy for war goals that are dropped for backers in a diplo play (due to play not escalating to war or backer switching sides)
	WAR_GOAL_INFAMY_PEACE_REFUND = -0.5 				# Refund of infamy for war goals that are dropped due to a country capitulating or negotating peace without enforcing their wargoal
	WAR_GOAL_INFAMY_REDUCTION_FOR_TARGET = -0.5 		# This much of a war goal's infamy value is removed from the target when target has it enforced on them
	
	# Higher priority wargoals are executed first
	WAR_GOAL_EXECUTION_PRIORITY_WAR_REPARATIONS = 1
	WAR_GOAL_EXECUTION_PRIORITY_HUMILIATION = 2
	WAR_GOAL_EXECUTION_PRIORITY_OPEN_MARKET = 3
	WAR_GOAL_EXECUTION_PRIORITY_REGIME_CHANGE = 4
	WAR_GOAL_EXECUTION_PRIORITY_BAN_SLAVERY = 5
	WAR_GOAL_EXECUTION_PRIORITY_UNIFICATION_LEADERSHIP = 6
	WAR_GOAL_EXECUTION_PRIORITY_ANNEX_COUNTRY = 7
	WAR_GOAL_EXECUTION_PRIORITY_LIBERATE_COUNTRY = 8
	WAR_GOAL_EXECUTION_PRIORITY_MAKE_PUPPET = 10	
	WAR_GOAL_EXECUTION_PRIORITY_MAKE_DOMINION = 11
	WAR_GOAL_EXECUTION_PRIORITY_MAKE_VASSAL = 12	
	WAR_GOAL_EXECUTION_PRIORITY_CONQUER_STATE = 21
	WAR_GOAL_EXECUTION_PRIORITY_RETURN_STATE = 22
	WAR_GOAL_EXECUTION_PRIORITY_TAKE_TREATY_PORT = 23	
	WAR_GOAL_EXECUTION_PRIORITY_REVOKE_ALL_CLAIMS = 30
	WAR_GOAL_EXECUTION_PRIORITY_REVOKE_CLAIM = 31
	WAR_GOAL_EXECUTION_PRIORITY_CONTAIN_THREAT = 40	
	WAR_GOAL_EXECUTION_PRIORITY_TRANSFER_SUBJECT = 50
	WAR_GOAL_EXECUTION_PRIORITY_LIBERATE_SUBJECT = 51	
	WAR_GOAL_EXECUTION_PRIORITY_FORCE_RECOGNITION = 60
	WAR_GOAL_EXECUTION_PRIORITY_INDEPENDENCE = 100
	WAR_GOAL_EXECUTION_PRIORITY_SECESSION = 100
	WAR_GOAL_EXECUTION_PRIORITY_UNIFICATION = 200
	
	DIPLOMATIC_PLAY_ABANDON_SUPPORT_RELATIONS_IMPACT = 50
	DIPLOMATIC_PLAY_ESCALATION_DAILY = 1
	DIPLOMATIC_PLAY_ESCALATION_PAUSE_FROM_ACTION = 5 # Number of days that escalation pauses when either side takes an action
	DIPLOMATIC_PLAY_ESCALATION_PAUSE_MAX = 20 # Escalation pause can't be longer than this no matter how many actions are taken at once
	DIPLOMATIC_PLAY_OPENING_PHASE_END = 21	# Before this, defender needs to set their wargoal and you can't join/sway
	DIPLOMATIC_PLAY_CLOSING_PHASE_START = 80 # After this, it isn't possible to join/sway further countries
	DIPLOMATIC_PLAY_ESCALATION_WAR_BREAKOUT = 100
	
	BASE_COLONIAL_PROGRESS = 3 # Per day
	MIN_COLONIAL_PROGRESS = 0.1 # Per day
	COLONY_PROVINCE_BASE_SCORE = 10
	COLONY_PROVINCE_COASTAL_SCORE = 30 # Replaces COLONY_BASE_SCORE for provinces with a coastline
	COLONY_PROVINCE_ADJACENCY_SCORE = 20 # How much will colonies prioritize adjacency to existing provinces when growing the colony
	COLONY_PROVINCE_NO_ADJACENCY_MULT = 0.1 # Multiply by this if no adjacencies at all
	COLONY_PROVINCE_RANDOM_FACTOR = 1.5 # The higher this is, the more random colonization province picking will be
	
	BASE_WAR_SUPPORT = 100
	MAX_WAR_SUPPORT = 100
	MIN_WAR_SUPPORT = -100
	BATTLE_WS_WINNER = 2
	BATTLE_WS_LOSER = -1
	BATTLE_WS_LOSSES_MULT = -0.2
	BATTLE_WS_KILLS_MULT = 0.1
	
	COUNTRY_TIER_CITY_STATE_PRESTIGE = 0
	COUNTRY_TIER_PRINCIPALITY_PRESTIGE = 5
	COUNTRY_TIER_GRAND_PRINCIPALITY_PRESTIGE = 10
	COUNTRY_TIER_KINGDOM_PRESTIGE = 15
	COUNTRY_TIER_EMPIRE_PRESTIGE = 25
	COUNTRY_TIER_HEGEMONY_PRESTIGE = 50
	
	PRESTIGE_FROM_COUNTRY_GDP_DIVISOR = 1000000
	PRESTIGE_FROM_COUNTRY_GDP = 3 # Per PRESTIGE_FROM_COUNTRY_GDP_DIVISOR GDP
	PRESTIGE_FROM_SUBJECT_GDP = 1.5 # Per PRESTIGE_FROM_COUNTRY_GDP_DIVISOR GDP in subjects
	PRESTIGE_FROM_POWER_PROJECTION = 0.2 # Per point of power projection from barracks & naval bases
	PRESTIGE_FROM_SUBJECT_POWER_PROJECTION = 0.1 # Per point of power projection from barracks & naval bases in subjects
	PRESTIGE_MIN_NUM_COUNTRIES = 100 # If there's less countries using prestige than this in the game, we add some filler countries to adjust average prestige levels
	FILLER_COUNTRY_PRESTIGE = 15
	
	DAYS_TO_LOSE_POWER_RANK = 365
	POWER_RANK_LOSS_THRESHOLD = 0.9
	
	DEFAULT_STATES_REQUIRED_TO_RELEASE_COUNTRY = 0 # Applied if nothing is specified in country_creation
	DEFAULT_STATES_REQUIRED_TO_FORM_COUNTRY = 0.75 # Applied if nothing is specified in country_formation
	RELEASE_COUNTRY_AS_SUBJECT_RELATIONS_BOOST = 30
	RELEASE_COUNTRY_AS_INDEPENDENT_RELATIONS_BOOST = 50

	INTEREST_NUM_DAYS_CHANGE = 30

	ESCALATION_THRESHOLD_TO_SWITCH_COUNTRY = 50
}

NPops = {
	NUM_WEALTH_LEVELS = 99
	
	POP_WEIGHT_MODIFIER_MAX_SCALE = 100			# The maximum scale applied to weight modifiers on the pop portrait
	
	DEFAULT_POP_TYPE = "laborers"				# Used by: create_pop effects; migration; injured military leaving their outposts; slaves default employment role; etc.
	SLAVE_POP_TYPE = "slaves"					# This is the type of pop that debtors will become

	POP_SIZE_PACKAGE = 10000					# "Normal" pop size used as a divisor on population when determining e.g. Needs to buy, wages to pay, etc
	
	WEALTH_PROGRESS_WANTED_BUFFER = 1.02		# A pop wants at least as much income as this x the next level buy package costs to increase its wealth
	WEALTH_PROGRESS_ACCEPTABLE_DEFICIT = 0.98	# A pop won't change wealth level if they can still afford this much of their current buy package costs
	WEALTH_PROGRESS_INCREASE = 0.2				# How fast wealth increases when a pop has money for higher grade buy packages. This factor is modified by how large the difference between income and cost is
	WEALTH_PROGRESS_DECREASE = 0.1				# How fast wealth decrease when a pop can no longer afford its buy package. This factor is modified by how large the difference between income and cost is
	WEALTH_PROGRESS_DECREASE_DEFICIT_MULT = 5

	RADICALS_MAX_FROM_LOW_SOL = 0.1				# If pop is already this % radical, don't add more radicals from low SOL (Scales by delta between SoL and expected min SoL)
	RADICALS_MAX_FROM_DISCRIMINATION = 0.5		# If pop is already this % radical, don't add more radicals from discrimination (Scales by literacy)
	RADICALS_MONTHLY_FROM_LOW_SOL = 0.001		# Scales by delta between SoL and expected min SoL
	RADICALS_MONTHLY_FROM_DISCRIMINATION = 0.005 # Scales by literacy	

	ASSIMILATION_RATE = 0.002					# Percentage of pops who will Assimilate into a different Culture each month, if eligible
	MIN_ASSIMILATION = 10						# If there is any assmiliation at least this many people will assimilate
	CONVERSION_RATE = 0.002						# Percentage of pops who will Convert into a different Religion each month, if eligible
	MIN_CONVERSION = 10							# If there is any conversion at least this many people will convert
	
	OBSESSION_DEMAND_MIN = 1.0					# The minimum relative demand of an obsession (overrides min demand in buy package goods categories)
	OBSESSION_DEMAND_MULT = 2.0					# Demand of an obsession is multiplied by this
	MIN_POPS_FOR_NEW_OBSESSION = 50000			# At least this many pops of a culture must live in a market to get an obsession from its goods
	MIN_SUPPLY_LEVEL_FOR_NEW_OBSESSION = 0.75	# Supply needs to be at least this times the demand
	MIN_DEMAND_VALUE_FOR_NEW_OBSESSION = 1000	# At this amount of (number of units * goods base price) needs to be demanded in a market to create a new obsession
	MAX_NUM_OBSESSIONS = 3						# A culture can only have this number of obsessions at the same time
	OBSESSION_SPAWN_CHANCE = 0.1				# Per year (1.0 = 1%), multiplied by goods supply and market size mult
	OBSESSION_SPAWN_CHANCE_MAX_SUPPLY_MULT = 3.0		# Supply relative to demand above this isn't factored into spawn chance
	SUBSTITUTION_WEIGHT_MULT = 5.0				# The weight of a substitutable good that has 100% of the supply share
	TABOO_DEMAND_MULT = 0.5						# Demand of a taboo is multiplied by this
	MAX_DEMAND_ADJUSTMENT_BASE_AMOUNT = 0.01	# Controls how much a pop can change demand of a substituable goods in a single update (base)
	MAX_DEMAND_ADJUSTMENT_SCALED_AMOUNT = 0.09	# Controls how much a pop can change demand of a substituable goods in a single update (scaled)
	MAX_DEMAND_ADJUSTMENT_SCALE = 1.0			# At this delta between target and current demand, apply max demand adjustment scale

	OBSESSION_POP_NEED_EXPENSE_MULT = 0.25		# Total spent on pop needs including obsessions is changed by this (scaled by number of obsessions, money is given or taken from other needs)
	TABOO_POP_NEED_EXPENSE_MULT = -0.25			# Total spent on pop needs including taboos is changed by this (scaled by number of taboos, money is given or taken from other needs)
	
	WORKING_ADULT_RATIO_BASE = 0.25				# Base ratio of working adults to dependents, this can be overridden by pop type definition and country modifiers.
	WORKING_ADULT_RATIO_SKEW_MAXIMUM = 2.0		# When the ratio of working adults to dependents is skewed, it tends to correct itself, this value clamps the maximum effect of this
	DEPENDENT_CONSUMPTION_RATIO = 0.5			# Dependents consume this multiple of Needs compared to Working Adults
	
	SUBSISTENCE_DIVIDENDS_MULT = 0.5
	
	LITERACY_DIEOFF_BIAS = 0.7					# Percentage of literate pops who die of old age compared to the current literacy rate, the higher this value the faster the population becomes illiterate when literacy suffers
	
	DISCRIMINATION_BASE = 25					# The base value of discrimination for a discriminated pop; maps to the % pay cut they take and the level of Turmoil they get
	SOL_ADJUSTMENT_POP_IMPACT_FACTOR = 0.05		# How large part of a pop become revolutary/loyalist or stop being revolutionary/loyalist as a result of a change in standard of living
	
	SOL_STARVING_THRESHOLD = 5
	SOL_STRUGGLING_THRESHOLD = 10
	
	LOW_POP_THRESHOLD = 5000					# If a state has less than this amount of pops per arable land, apply the low pop modifier
	HIGH_POP_THRESHOLD = 100000					# If a state has more than this amount of pops per arable land, apply the high pop modifier
	
	MIGRATION_PULL_EMPTY_STATE = 100				# If a state has no pops at all, give it a huge migration pull
	MIGRATION_PULL_FROM_LIVING_STANDARD = 1			# Migration pull from each point of average living standard in target state	
	MIGRATION_PULL_UNEMPLOYMENT_POPS_MIN = 10000 		# At less than this in number of unemployed pops, do not apply unemployment divisor
	MIGRATION_PULL_UNEMPLOYMENT_POPS_FOR_MAX_DIV = 100000 # Num unemployed pops to apply max amount of unemployment divisor
	MIGRATION_PULL_UNEMPLOYMENT_DIV = 10				# At above max unemployed pops, migration pull is divided by this
	
	# The below factors are applied *after* migration pull threshold checks, so they only impact how large a share of migration a state gets
	MIGRATION_PULL_MULT_FROM_CULTURE_TARGET = 20.0			# Migration pull multiplied by this from target state being a cultural migration target
	MIGRATION_PULL_MULT_FROM_CULTURE_TARGET_ADJACENCY = 5.0	# Migration pull multiplied by this from target state being next to a cultural migration target
	MIGRATION_PULL_MULT_FROM_NO_DISCRIMINATION = 1.0		# Migration pull multiplier increased by this if pop is moving from discrimination to no discrimination (not applied to mass migration targets)
	MIGRATION_PULL_MULT_FROM_HOMELANDS = 0.5				# Migration pull  multiplier increased by this if pop is moving to cultural homelands (not applied to mass migration targets)
	
	# General factors for how many pops will migrate
	MIGRATION_PULL_HIGH_THRESHOLD = 1.25						#	State must have a migration pull of at least market average * this to get economic immigration
	MIGRATION_PULL_LOW_THRESHOLD = 0.75							# State must have a migration pull of less or equal than market average * this to get full amount of emigration
	ECONOMIC_MIGRATION_BASE = 0.02								# Base amount of a pop that wants to move for economic reasons
	ECONOMIC_MIGRATION_FROM_SOL_DIFFERENCE = 0.01				# Each point of difference of pop SoL to the market's average SoL makes this fraction of the pop want to economically migrate (in %)
	ECONOMIC_MIGRATION_STATE_POPULATION_THRESHOLD = 100000				# States with less pops than this have reduced economic emigration numbers to avoid total depopulation
	CULTURAL_MIGRATION_BASE = 0.05								# Base amount of a pop that wants to move due to mass migration
	CULTURAL_MIGRATION_FROM_RADICALS = 0.05						# At 100% radicals, this fraction of the pop wants to mass migrate
	MIGRATION_UNEMPLOYMENT_MULT = 10.0							# Amount of migration from SoL is increased by this when a pop is unemployed
	MIGRATION_MIN_STATE_POPS = 20000							# A state with less pops than this will not get emigration
	MIGRATION_MIN_POP_AMOUNT = 1								# No less than this amount of a pop can migrate each week (if any migration at all should happen)
	MIGRATION_MAX_POP_AMOUNT = 10000							# No more than this amount of a pop can migrate each week
	MIGRATION_MAX_PER_STATE_BASE = 500							# No more than this amount of people can move from or to a state in a single week (base)	
	MIGRATION_MAX_PER_STATE_INFRASTRUCTURE = 10					# No more than this amount of people can move from or to a state in a single week (scales with infrastructure)
	MIGRATION_MAX_PER_STATE_UNEMPLOYMENT_ORIGIN_FRACTION = 0.05	# The amount of unemployed workers in a state * this value is added to how many people can move from it
	MIGRATION_MAX_PER_STATE_UNEMPLOYMENT_TARGET_FRACTION = 0.05	# The amount of unemployed workers in a state * this value is removed from how many people can move to it
	MIGRATION_MAX_PER_STATE_CULTURAL_MIGRATION_MULT = 5.0		# Weekly migration caps are multiplied by this amount by this for cultural-type migration
	MIGRATION_AVERAGE_ATTRACTION_EMIGRATION_MULT = 0.25			# States with an average migration attraction gets this multiplier to emigrants
	
	# Factors for creating mass migration targets
	MIGRATION_CULTURE_TARGET_TURMOIL = 0.2				# Create one migration target for this amount of cultural turmoil
	MIGRATION_CULTURE_TARGET_MIN_PULL = 10				# A state must have at least this in migration pull to be picked as a mass migration target
	MIGRATION_CULTURE_TARGET_MIN_MARKET_POPS = 100000	# A market must have at least this many possible migrants to trigger a mass migration
	MIGRATION_CULTURE_TARGET_MIN_STATE_POPS = 10000		# A state must have at least this many possible migrants for mass emigration to occur
	MIGRATION_CULTURE_TARGET_MIN_MARKET_ACCESS = 0.5	# A state must have at least this much market access to their market to be a mass migration target
	MIGRATION_CULTURE_TARGET_MIN_ARABLE_LAND = 30		# A state must have at least this much arable land to be a mass migration target
	MIGRATION_CULTURE_TARGET_APPEAR_CHANCE = 0.2 		# Per week (1 = 1%)
	MIGRATION_CULTURE_TARGET_APPEAR_CHANCE_STRUGGLING_FACTOR = 0.1 # Chance increases by this for each point of SoL below 10
	MIGRATION_CULTURE_TARGET_APPEAR_CHANCE_STARVING_FACTOR = 0.5 # Chance increases by this for each point of SoL below 5 (added on top of struggling factor)
	MIGRATION_CULTURE_TARGET_RANDOM_FACTOR = 3			# The higher this is, the more random the selection of mass migration targets will be
	MIGRATION_CULTURE_TARGET_DURATION = 1				# In years

	COLONIAL_GROWTH_BASE_FACTOR = 0.00001				# Colonial growth generated by a state is ( total pops / 1000 ) * this * modifier from institution
	MIN_BASE_COLONIAL_GROWTH = 0.01						# Country base colonial growth from population cannot be lower than this
	MAX_BASE_COLONIAL_GROWTH = 0.1						# Country base colonial growth from population cannot be higher than this
	MAX_COLONIAL_GROWTH = 0.02							# Colonies can grow by this much at most per day 
	
	INDIVIDUALS_PER_POP_INFRASTRUCTURE = 10000			# Multiply state_infrastructure_from_population_add by this to determine infra from population

	QUALIFICATIONS_UPDATE_FACTOR = 0.0003				# Calculated potential values are multiplied by this value and the workforce size of the pop before being added to the existing potentials
	QUALIFICATIONS_NUM_MONTHS_AT_START = 60				# How many months of qualifications should be seeded to pops at start of game?
	
	INDIVIDUALS_TAXED_PER_TAX_CAPACITY = 10000			# How many pops can be taxed efficiently for each tax capacity
} 

### Pop Growth Constants
@min_birthrate = 0.0010
@max_birthrate = 0.0050
@min_mortality = 0.0005
@max_mortality = 0.0070
@pop_growth_sol_equilibrium = 8							# Equilibrium is where (with no birthrate/death-rate mods) growth is stagnant
@pop_growth_sol_delta_cap = 20							# SoL Delta Cap is where net growth stops increasing with rising SoL, i.e. both drop at the same pace
@pop_growth_sol_cap = 40								# SoL Cap is where they birthrate/death-rate stop dropping

@mortality_at_equilibrium = @[max_birthrate-(pop_growth_sol_equilibrium*(max_birthrate-min_birthrate)/pop_growth_sol_cap)]
@birthrate_at_delta_cap = @[max_birthrate-(pop_growth_sol_delta_cap*(max_birthrate-min_birthrate)/pop_growth_sol_cap)]
@improving_slope = @[(birthrate_at_delta_cap-min_birthrate-min_mortality-mortality_at_equilibrium)/(pop_growth_sol_delta_cap-pop_growth_sol_equilibrium)]
@improving_intercept = @[-1*improving_slope*pop_growth_sol_equilibrium+mortality_at_equilibrium]
@mortality_at_delta_cap = @[improving_slope*pop_growth_sol_delta_cap+improving_intercept]
@fixed_delta_slope = @[(min_mortality-mortality_at_delta_cap)/(pop_growth_sol_cap-pop_growth_sol_delta_cap)]
		
NPops = {
	POP_GROWTH_BIRTHRATE_REDUCTION_PER_SOL = @[(max_birthrate-min_birthrate)/pop_growth_sol_cap]
	POP_GROWTH_MORTALITY_AT_EQUILIBRIUM = @mortality_at_equilibrium
	POP_GROWTH_STARVING_SLOPE = @[(mortality_at_equilibrium-max_mortality)/pop_growth_sol_equilibrium]
	POP_GROWTH_BIRTHRATE_AT_DELTA_CAP = @birthrate_at_delta_cap
	POP_GROWTH_IMPROVING_SLOPE = @improving_slope
	POP_GROWTH_IMPROVING_INTERCEPT = @improving_intercept
	POP_GROWTH_FIXED_DELTA_SLOPE = @fixed_delta_slope
	POP_GROWTH_FIXED_DELTA_INTERCEPT = @[-1*fixed_delta_slope*pop_growth_sol_cap+min_mortality]
	
	POP_GROWTH_MIN_BIRTHRATE = @min_birthrate					# Minimum base birthrate per month (at SOL_POP_GROWTH_CAP)
	POP_GROWTH_MAX_BIRTHRATE = @max_birthrate					# Maximum base birthrate per month (at SOL = 0)
	POP_GROWTH_MIN_MORTALITY = @min_mortality					# Maximum base mortality per month (at SOL_POP_GROWTH_CAP)
	POP_GROWTH_MAX_MORTALITY = @max_mortality					# Maximum base mortality per month (at SOL = 0)
	POP_GROWTH_SOL_DELTA_CAP = @pop_growth_sol_delta_cap		# Birthrate and Mortality retains its delta beyond this SoL
	POP_GROWTH_SOL_CAP = @pop_growth_sol_cap					# Birthrate and Mortality reaches its minimum values and does not drop beyond this SoL
	POP_GROWTH_SOL_EQUILIBRIUM = @pop_growth_sol_equilibrium	# The Standard of Living where Birthrate and Mortality correspond, after which Mortality diminishes slower
}
### End Pop Growth Constant defines

NEvents = {
	DEFAULT_MONTHS_VALID = -1 # months until it disappears, -1 = infinite
	DEFAULT_GUI_WINDOW_TYPE = "event_window" #Default gui window type for events
	NUM_DAYS_TO_AUTO_OPEN_EVENT = 30 # number of days before timeout to pop up the event window
}

NTechnology = {
	TECH_SPREAD_RANDOM_RANGE = 0.5 # How much can distribution of tech spread vary each week
	TECH_AHEAD_OF_TIME_PENALTY_FACTOR = 0.25	# For every tech in a previous era not already researched in this category, take this multiple of the cost as an additional penalty (multiplied by number of eras between the techs)
}

NCharacters = {
	RULER_MIN_AGE_FOR_HEIR = 20 # Before this age, don't randomly generate heirs for rulers
	RULER_AGE_FOR_HEIR_CHANCE_BOOST = 30 # A year after this age start boosting chance of heir generation
	RULER_HEIR_GENERATION_CHANCE = 0.001 # Per day
	RULER_HEIR_CHANCE_BOOST_SCALE = 0.001 # Added to RULER_HEIR_CHANCE_BOOST for each year after RULER_AGE_FOR_HEIR_CHANCE_BOOST
	AGE_GENERATION_STARTVAL = 20
	AGE_GENERATION_DICE_ROLL_MAGNITUDE = 6
	AGE_GENERATION_NUM_DICE_ROLLS = 5
	DEATH_CHECKS_YEAR_BEGIN = 60		# first year to start checking for death by natural causes
	DEATH_CHECKS_YEAR_END = 100			# definately dead by this year
	RECRUIT_COMMANDER_NUM_OPTIONS = 2
	RECRUIT_COMMANDER_POOL_SIZE = 3
	RECRUIT_COMMANDER_VALUE_MARGINAL = -50
	RECRUIT_COMMANDER_VALUE_AGE_MULT = 0.5
	RECRUIT_COMMANDER_VALUE_SAME_IGS = -40
	RECRUIT_COMMANDER_REMOVE_AGE = 55	# removed from the recruit pool when they reach 55 years
	RANDOM_MIN_RANK_DEFAULT = 1
	RANDOM_MAX_RANK_DEFAULT = 3
	HIGHEST_PROMOTION_RANK = 5
	RULER_COMMANDER_START_RANK = 6
	POPULARITY_HATED_THRESHOLD = -50
	POPULARITY_DISLIKED_THRESHOLD = -25
	POPULARITY_LIKED_THRESHOLD = 25
	POPULARITY_LOVED_THRESHOLD = 50
	POPULARITY_AUTHORITY_FACTOR = 1			# Popularity of ruler is multiplied by this when turned into Authority
	MAX_NUM_CHARACTERS_PER_TYPE = 20		# The maximum number of characters of a certain primary role (e.g. General, Admiral) you can manually recruit. This is a hard cap failsafe and should be set high enough that players have no legitimate reason to recruit more than this.
	ADULT_AGE = 16 # Characters under this age have more limited options. For example they cannot become military leaders
	
	VOIDED_CHARACTER_DEFAULT_DURATION = 12 # Default months a character will be in the void before being deleted

	INHERIT_RECESSIVE_GENE_CHANCE = 0.25 # Probability of a recessive gene being picked as an heir's dominant/recessive gene. Only used for portraits.
	
	### TRAIT GENERATION
	# Every week, a character's Expected Trait Value meter increases by the specified amount below depending on their role and what they're doing (Commanders also gain the Activity Level from their Orders)
	# Every week, a percentile die is rolled against ( Expected Trait Value meter - Current Trait Value . If the die rolls under the current value, a new random trait will be added, if a valid one exists.
	
	WEEKLY_CONDITION_CHANCE = 0.03					# The chance that a character will get a condition each week (1 = 1%)
	MAX_EXPECTED_TRAIT_VALUE = 12.0					# The maximum amount of Trait Value a character can develop normally (note: not adhered to by add_trait effect)
	MAX_TRAITS_PERSONALITY = 1						# The max amount of Personality Traits a character can develop normally (note: not adhered to by add_trait effect)
	MAX_TRAITS_SKILL = 3							# The max amount of Skill Traits a character can develop normally (note: not adhered to by add_trait effect)
	MAX_TRAITS_CONDITION = 2						# The max amount of Condition Traits a character can develop normally (note: not adhered to by add_trait effect)
	DEFAULT_TRAIT_GAIN = 0.005 						# Every character's Expected Traits meter increases by this much per week by default
	TRAIT_GAIN_POLITICIAN_POWERFUL = 0.01			# Powerful Politicians Expected Traits meter increases by this much per week
	TRAIT_GAIN_POLITICIAN_MARGINALIZED = 0.001		# Marginalized Politicians Expected Traits meter increases by this much per week
	TRAIT_GAIN_RULER = 0.005						# Rulers Expected Traits meter increases by this much per week
	TRAIT_GAIN_COMMANDER_AT_WAR_ADDITIONAL = 0.01	# Commanders increase their Expected Traits Value meter this much *extra* each week while at war, in addition to the Activity Level of their Order
}

NCommands = {
	BASE_ADVANCE_CHANCE = 0.1	# Base chance for an AO to advance each tick
	RETREAT_CUTOFF = 0.8	# Start considering retreat from a battle after the ratio of current manpower to initial manpower is below this
	RESOLVED_COMBAT_TIME_DAYS = 30
	PAST_COMBAT_LINGER_TIME_DAYS = 365
	MIN_REINFORCE_FACTOR = 0.02
	MAX_REINFORCE_FACTOR = 0.10
	WINNER_SPIRIT_REGAIN_FACTOR = 0.5	# Give back some spirit used for reinforcement to the winner after a battle
	LOSER_SPIRIT_REGAIN_FACTOR = 0	# Give back some spirit used for reinforcement to the loser after a battle
	WINNER_SPIRIT_REDUCTION = 0.5 # spirit lost after winning a battle
	LOSER_SPIRIT_REDUCTION = 0.2 # spirit lost after losing a battle
	REGENERATE_ORGSPIRIT_THRESHOLD = 0.9 # when organisation/spirit begins to regenerate linearly
	CONCENTRATION_ORG_LOSS_CUTOFF = 0.25 # when concentration starts to affect ao organisation gain and loss
	SECOND_ROW_TERRAIN_WEIGHT = 0.33
	BATTLEFIELD_WEIGHT_BASE = 1.0
	BATTLEFIELD_WEIGHT_PROVINCE_OCCUPIED_BY_ENEMY = 1.0
	BATTLEFIELD_WEIGHT_INVADED_ENEMY_STATE = 1.0
	SCOUTING_POWER_PER_PROVINCE = 0.1
}

NBattle = {
	LEADING_ATTACKER_NAVAL_SP_MIN = 0.5
	LEADING_ATTACKER_NAVAL_SP_MAX = 0.7
	LEADING_DEFENDER_NAVAL_SP_MIN = 0.3
	LEADING_DEFENDER_NAVAL_SP_MAX = 0.5
	SEA_RETREAT_CUTOFF = 0.75
	NAVAL_BATTLE_ROUND_DEVIATION = 0.5
	NAVAL_BATTLE_MIN_PURSUIT_FIRE_ROUNDS = 0
	NAVAL_BATTLE_MAX_PURSUIT_FIRE_ROUNDS = 4
	NAVAL_MORALE_FACTOR = 0.2						# Normal Morale damage is multiplied by this factor if the battle is naval
	MASTER_CASUALTY_RATIO_ADD = 0.01
	MASTER_CASUALTY_RATIO_MULT = 0.04
	CASUALTY_MAJORITY_CULTURE_WEIGHT = 1.5			# Majority culture pops will be weighted to take 1.5x more casualties
	CASUALTY_ROLL_MIN = 50							# min ...
	CASUALTY_ROLL_MAX = 200							# max amount of casualties a unit can take each roll when applying casualties to units
	SURVIVAL_RATE = 0.75
	DEPENDENTS_ROLL_MIN_PERCENT = 0.02				# min ...
	DEPENDENTS_ROLL_MAX_PERCENT = 0.2				# max percentage of Pops Size it can take as Dependents each roll
	MIN_DEPENDENTS_PER_ROLL = 25					# Minimum amount of dependents to added to a random pop
	
	CHANCE_OF_POPULARITY_NARROW_VICTORY = 0.5		# The chance (0-1) to be affected by popularity for a narrow victory (start with numeric advantage, end with numeric disadvantage)
	CHANCE_OF_POPULARITY_NORMAL_VICTORY	= 0.1		# The chance (0-1) to be affected by popularity for a normal victory (any victory that's not narrow or heroic)
	CHANCE_OF_POPULARITY_HEROIC_VICTORY	= 1.0		# The chance (0-1) to be affected by popularity for a heroic victory (start with numeric disadvantage against a more prestigious nation)
	POPULARITY_GAIN_NARROW_VICTORY = 3				# Multiple of commander_battle_end_victory modifier the winner should get for a narrow victory if the random chance roll is true
	POPULARITY_GAIN_NORMAL_VICTORY = 2				# Multiple of commander_battle_end_victory modifier the winner should get for a normal victory if the random chance roll is true
	POPULARITY_GAIN_HEROIC_VICTORY = 5				# Multiple of commander_battle_end_victory modifier the winner should get for a heroic victory if the random chance roll is true
	POPULARITY_GAIN_NARROW_LOSS	= -3				# Multiple of commander_battle_end_loss modifier the loser should get for a narrow victory for the other side if the random chance roll is true
	POPULARITY_GAIN_NORMAL_LOSS	= -2				# Multiple of commander_battle_end_loss modifier the loser should get for a normal victory for the other side if the random chance roll is true
	POPULARITY_GAIN_HEROIC_LOSS = -5				# Multiple of commander_battle_end_loss modifier the loser should get for a heroic victory for the other side if the random chance roll is true
	POPULARITY_DECAY_MONTHS = 60					# The number of months battle popularity modifiers decay over
}

NWar = {
	DEVASTATION_MAX = 100.0
	DEVASTATION_INCREASE_RATE = 0.1 # Per day, scales with level of occupation
	DEVASTATION_DECAY_RATE = -0.1 # Per day, when there are no occupations
	DEVASTATION_FROM_BATTLES = 0.1 # For each battle

	AUTO_CAPITULATE_WAR_SUPPORT = -100 # When war support is this low, the country will auto capitulate
	DAYS_BETWEEN_WAR_EXHAUSTION = 7 # Every this many days war support will be reduced by the war exhaustion formula
	WAR_EXHAUSTION_BASE = 0.25
	WAR_EXHAUSTION_KIA_FACTOR = 25.0
	WAR_EXHAUSTION_TURMOIL_FACTOR = 2.0 # At 100% turmoil
	WAR_EXHAUSTION_OCCUPATION_FACTOR = 10.0
	WAR_EXHAUSTION_CONTESTED_ENEMY_WARGOALS = 2.0
	OCCUPATION_STATE_BASE_WEIGHT = 1
	OCCUPATION_STATE_POP_WEIGHT = 1
	OCCUPATION_STATE_INCORPORATED_WEIGHT = 10
	
	STATE_CONQUEST_HOMELAND_AND_CLAIM_RADICALIZATION = 0.1
	STATE_CONQUEST_HOMELAND_AND_CLAIM_DEMILITARIZATION = 0.25
	STATE_CONQUEST_HOMELAND_OR_CLAIM_RADICALIZATION = 0.2
	STATE_CONQUEST_HOMELAND_OR_CLAIM_DEMILITARIZATION = 0.5
	STATE_CONQUEST_DEFAULT_RADICALIZATION = 0.4
	STATE_CONQUEST_DEFAULT_DEMILITARIZATION = 0.75
}

NText = {
	DURATION_SHOW_YEARS_THRESHOLD = 1105	# Duration will show as years if it's at least this many days
	DURATION_SHOW_MONTHS_THRESHOLD = 100	# Duration will show as months if it's at least this many days
	DURATION_SHOW_WEEKS_THRESHOLD = 15		# Duration will show as weeks if it's at least this many days
}

NDebug = {
	CASUALTY_LOG_EXPIRE_TIME_DAYS = 30 # Casualty log for units and buildings will be cleaned after this amount of days
	CASUALTY_LOG_NUM_LAST_ENTRIES_VISIBLE = 10 # Max amount of casualty events that are shown in casualty log lists
}

